Thai Language | Computer Science | About Information | for people | download | Sitemap | Help | Contact
Web position -->   Home -->   Data Structures
Data Structures

       In computer science, a data structure is a particular way of storing and organizing data in a computer so that it can be used efficiently. Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to certain tasks. For example, B-trees are particularly well-suited for implementation of databases, while compiler implementations usually use hash tables to look up identifiers. Data structures are used in almost every program or software system. Specific data structures are essential ingredients of many efficient algorithms, and make possible the management of huge amounts of data, such as large databases and internet indexing services. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design.

(From Wikipedia, the free encyclopedia (Redirected from Data structures)

Instructional media or Learning aid of
Data Structures

1. Sort Animation

      - A Java applet that animates Bubblesort , Insertionsort , Quicksort and Selestsort into data sort.

Other Website :
      - Merge Sort  
      - Counting Sort  
      - Bucket Sort  
      - Stable Sort  
      - Radix Sort  
      - Different or compare of each sorting


2. Binary Search Trees Animation

      - This applet animates the functioning of several dictionary data structures. It can be used as a teaching aid or for self-study. By watching the visualization the user should more easily grasp the ideas behind the data structures.

       The Website is create to the B-Trees Example.
Please look at to this webpage... Please click this link


3. Hashing Animation

          The Hashing Animation Tool is implemented as a Java applet. In order to view the applet a Java enabled web browser that supports Java 1.1, such as Internet Explorer 4+ or Netscape Navigator 4+, is required. In addition, due to the dimensions of the applet a monitor resolution of at least 1027 x 768 is recommended. Finally, the file size for the applet is fairly large. Users with dial-up connections may need to wait a minute or so for the applet to finish loading.

          Can you see to Algorithms and Help for the Hashing Animation Tool. Please click to


3. Graph Animation

- Algorithms of Graphs

- Breadth First Search

Minimum spanning tree ( Prim and Kruskal)

- Kruskal Algorithm

          The Kruskal Algorithm starts with a forest which consists of n trees.Each and everyone tree,consists only by one node and nothing else.In every step of the algorithm,two different trees of this forest are connected to a bigger tree.Therefore ,we keep having less and bigger trees in our forest until we end up in a tree which is the minimum genetic tree (m.g.t.) .In every step we choose the side with the least cost,which means that we are still under greedy policy.If the chosen side connects nodes which belong in the same tree the side is rejected,and not examined again because it could produce a circle which will destroy our tree.Either this side or the next one in order of least cost will connect nodes of different trees,and this we insert connecting two small trees into a bigger one.

êURL :

a PSEUDOCODE for the KRUSKAL algorithm.

(1) is the set of the sides of the minimum genetic tree.
E(2) is the set of the remaining sides.


  • E(1)=0,E(2)=E
  • While E(1) contains less then n-1 sides and E(2)=0 do
    • From the sides of E(2) choose one with minimum cost-->e(ij)
    • E(2)=E(2)-{e(ij) }
    • If V(i),V(j) do not belong in the same tree then
      • unite the trees of V(i) and V(j) to one tree.
    • end (If)
    • end (While)
  • End Of Algorithm.
  • êURL :
    URL :'s_algorithm

    Prim's algorithm

              This may seem to you extremely complicated but it is easily understood by a set of examples.
    URL :'s_algorithm
              You can also see an example of prim algorithm using the adjoining array (in Java of course)
    URL :


             This algorithm finds the routes,by cost precedence.Let's assume that every cost is a positive number,and assume the same in the cost function c as in 5.4 paragraph.G may be a graph,a digraph,or even a combined one,which means that only some of its sides are directed.If we consider G as digraph,then every other case is fully covered as well since a no directed side can be considered a 2 directed sides of equal cost for every direction.
    URL :

    - Flash Animation of Graph (Thai language)

    URL :

    Download Document of Graph (Thai language)
    URL :


    Data Structures of B-Tree

    B-Tree Operations Pseudocode
          - Abstarct of B-Tree
          - B-Tree-Search(T, k)
          - B-Tree-Split-Child(x, i, y)
          - B-Tree-Insert(T, k)
          - B-Tree-Insert-NonFull(x, k)
          - B-Tree-FindLargest(x)
          - B-Tree-Delete(x, k)

    B+(Plus) Tree Operations

    - Abstract , Search, Insert, Delete in B+(plus) Tree (Full Text)
          - Abstract ,Insert, Delete in B+(plus) Tree
          - Example of B+(plus) Tree Abstract ,Insert, Delete
         - Implementing Deletion in B plus Tree
          - A Java applet that animates insertion into B+ trees.


    B*(Star) Tree Operations

    - Abstract Insert, Delete in B+(plus) Tree
          - Algorithms Search in B star Tree
          - Implementing Search in B star Tree

    Compare between B-Tree, B+-Tree and B*-Tree

          - Different of All B-Tree Implementations


    VDO About B- Tree (Click to play...)


      Data Structures applied


          1.1 Data abstraction of Polynomials
                     1.1.1 Concept of Polynomials
      Please wait to data update...

                     1.1.2 Pseudocode and Algorithms of Polynomials

      Algorithm makeZeroPolynomial(polyterm)
      maxDegree – the highest possible degree of polynomial
      polyterm – pointer to the polynomial structure
      i – index to current member of array

      for(int i = 0; i <= maxDegree; i++)
      (Set CoefficientArray[i] of polyTerm to 0)

      (Set HighestPower to 0)

      Algorithm addPolynomial(poly1, poly2, polySum)
      maxDegree – the highest possible degree of polynomial
      poly1,poly2 – polynomial terms to be added together
      polySum – resulted polynomial
      i – index to current member of array

      (Call Procedure MakeZeroPolynomial(polySum))
      (HighestPower of polySum = maximum between HighestPower of poly1 and HighestPower of poly2)

      for(i=(HighestPower of polySum); i>=0; i--)
      (CoefficientArray[i] of polySum) = (CoefficientArray[i] of poly1) + (CoefficientArray[i] of poly2)


      download file of Polynomial ADT   (Thai language)


    • Header file of module below
    • Elementary operations on Polynomials P(x)
    • Program to demonstrate the Evaluation of a polynomial
    • Evaluate a Polynomial and its Derivatives By Horner's Method (NEW)
    • Division of two polynomials by increasing powers
    • Euclidian division of two polynomials P(x)/Q(x)
    • GCD and SCM of two polynomials
    • Linear combination of two polynomials a.P(x) + b.Q(x)
    • Multiplication of two polynomials P(x) x Q(x)
    • Nth derivative of a polynomial P(x)
    • Substitution of two polynomials P(Q(x))

    • Header file of module below
    • Unit of elementary operations on polynomial fractions F(x)=P(x)/Q(x)
    • Program to demonstrate the Evaluation of a polynomial fraction P(x)/Q(x)
    • Inversion of a polynomial fraction P(x)/Q(x)
    • Linear combination of two polynomial fractions a.F1(x) + b.F2(x)
    • Multiplication of two polynomial fractions F1(x) x F2(x)
    • Nth derivative of a polynomial fraction F(x)=P(x)/Q(x)
    • Simple elements of a polynomial fraction
    • Substitution of two polynomial fractions F1(F2(x))
    • Symbolic parser for polynomials
    URL :



    Computer Science
    - About Webmaster.
    - About Comsci.
    - News of Comsci.
    - Video of Comsci.
    - Theory of Computation
    - Algorithms
    - Data Structures 
    - Programming
    - Database
    - System Analysis (SA)
    - Computer Architecture
    - Symbolic Computation
    - Applications
    - Psychology of Comsci.
    - Human C. Interaction
    - Brain C. Interface
    - Machine Learning
    - Bioinformatics...
    - Basic Computer
    - Other of Comsci.

    Education of comsci.
    and information...
    - Curriculum
    - Institute  
    - Research
    - About Info.
    - Information Technology
    - Information System
    - Info. management
    - Info. communication
    - Info. and Communication

    - Info. architecture
    - Info. broker
    - Info. geometry
    - Info. superhighway
    - Info. ladder
    - Info. mapping
    - Info. overload
    - Info. processing
    - Info. processor
    - Info. sensitivity
    - Other of information
 for people
    - General people (User)
      --> Businessman
      --> Doctor
      --> Engineer
      --> Police
      --> Other of User

    - Programmer
    - System Analyst (SA)
    - Operator
    - Database Administrator
    - System Manager
    - Other of people


      (21/04/2009)   (for people) : ©2009 copyright
    Email :