Skip to main content

Abstract Data Type - Trees

 A tree is an abstract data type that stores elements hierarchically. Each element in a tree has a parent element and zero or more children elements. The top element of the tree is called root.

A tree can also be defined as a set of nodes storing elements in a parent child relationship.

The children nodes of the same parent are called siblings. The node which has children is known as internal. The node which has no children is known as external or leaves.

A free is ordered if there is a linear ordering defined for the chi1dren of each node. e.g, structured documents such as Books.

A binary tree is an ordered tree in which every node has at most two children.

The depth of a node is the number of ancestors of the node excluding the node itself. The depth of the root of a tree is 0.

The height of a tree is equal to the maximum depth of an external node of the tree. The height of the external node is 0.

A traversal of a tree is a systematic way of accessing all the

nodes of the tree. The traversal schemes for trees are preorder and postorder traversals. The root of the tree is visited first in the preorder whereas the children of a tree is visited first in postorder traverse.

The binary tree support a traversal method called inorder traversal.

Popular posts from this blog

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

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.

BITS Work Integrated Learning Program - M.Tech Data Science & Engineering

     BITS Pilani offers work integrated learning program (WILP) on M.Tech Data Science and Engineering which is UGC approved. The course is a four semester programme designed to help work professionals to build their skills required for data science engineering which enable them to become a Data Scientist.  It is a 100% online course and lectures would be delivered by BITS Pilani faculty on weekends. Those who are working in software industry as Software Engineer, Programmer, Data Analyst, Business Analyst can apply for the course. Minimum eligibility criteria to apply for the course. Those who are employed holding B.E/B.Tech/MCA/M.Sc or Equivalent with 60% marks and minimum one year relevant work experience. The candidates should have basic programming and engineering mathematics knowledge. The following subjects shall be covered in the course. Semester Subjects Data Mining Mathematical Fundamentals for Data Science Data Structure and Algorithms Design Co...