Skip to main content

Tree Data Structure

A tree is an abstract model of a hierarchical structure. The tree consists of nodes with a parent-child relation. The each element of the tree except the top element, has a parent and zero or more children elements.
The few applications of tree structure are Organization Data, Compiler processing, File system, Searching algorithm etc.
The node without parent is called Root.
The nodes with at least one child is called Internal nodes.
The nodes without children is called External nodes or Leaf.
The nodes which share the same parent is called Siblings.
The parent, grandparent, great-grandparent of a node is called Ancestor.
The child, grandchild, great-grandchild of a node is called Descendant.
The number of children of a node is called Degree.
The number of edges in path from root node to a node is called Depth of the node.
The number of edges in longest path from a node to a leaf is called Height of the node.
A node and its descendants in a tree is called Sub-tree.
The level of a tree is set of all nodes at the same depth. The level of Root is 0.
The set of disjoint trees are called Forest.

Popular posts from this blog

Exercise 1 - Amdahl's Law

A programmer is given the job to write a program on a computer with processor having speedup factor 3.8 on 4 processors. He makes it 95% parallel and goes home dreaming of a big pay raise. Using Amdahl’s law, and assuming the problem size is the same as the serial version, and ignoring communication costs, what is the speedup factor that the programmer will get? Solution Speedup formula as per Amdahl's Law, N - no of processor = 4 f - % of parallel operation = 95% Speedup = 1 / (1 - 0.95) + (0.95/4) = 1 / 0.5 + (0.95/4) Speedup = 3.478 The programmer gets  3.478 as t he speedup factor.

Gaussian Elimination - Row reduction Algorithm

 Gaussian elimination is a method for solving matrix equations of the form, Ax=b.  This method is also known as the row reduction algorithm. Back  Substitution Solving the last equation for the variable and then work backward into the first equation to solve it.  The fundamental idea is to add multiples of one equation to the others in order to eliminate a variable and to continue this process until only one variable is left. Pivot row The row that is used to perform elimination of a variable from other rows is called the pivot row. Example: Solving a linear equation The augmented matrix for the above equation shall be The equation shall be solved using back substitution. The eliminating the first variable (x1) in the first row (Pivot row) by carrying out the row operation. As the second row become zero, the row will be shifted to bottom by carrying out partial pivoting. Now, the second variable (x2)  shall be eliminated by carrying out the row operation again. ...

Exercise 2 - Amdahl's Law

A programmer has parallelized 99% of a program, but there is no value in increasing the problem size, i.e., the program will always be run with the same problem size regardless of the number of processors or cores used. What is the expected speedup on 20 processors? Solution As per Amdahl's law, the speedup,  N - No of processors = 20 f - % of parallel operation = 99% = 1 / (1 - 0.99) + (0.99 / 20) = 1 / 0.01 + (0.99 / 20) = 16.807 The expected speedup on 20 processors is 16.807