Binary tree traversals, Data Structure & Algorithms

Assignment Help:

 We have discussed already about three tree traversal methods in the earlier section on general tree. The similar three different ways to do the traversal -inorder , preorder, and postorder are applicable to binary tree also.

Let us discuss the inorder binary tree traversal for given binary tree:

We begin from the root i.e. * we are assumed to visit its left sub-tree then visit the node itself & its right sub-tree. Here, root contain a left sub-tree rooted at +. Thus, we move to + and verify for its left sub-tree (we are supposed repeat this for each node). Again, + contain a left sub-tree rooted at 4. Thus, we need to check for 4's left sub-tree now, however 4 doesn't have any left sub-tree and therefore we will visit node 4 first (print in our case) and verify for its right sub-tree. As 4 doesn't contain any right sub-tree, we'll go back & visit node +; and verify for the right sub-tree of +. It contains a right sub-tree rooted at 5 and thus we move to 5. Well, 5 don't have any left or right sub-tree. Thus, we just visit 5 (print 5) and track back to +. As we already have visited + thus we track back to * . As we are yet to visit the node itself and thus we visit * before checking for the right sub-tree of *, which is 3. As 3 do not have any left or right sub-trees, we visit 3 . Thus, the inorder traversal results in 4 + 5 * 3


Related Discussions:- Binary tree traversals

Using array to execute the queue structure, Q. Using array to execute the q...

Q. Using array to execute the queue structure, write down an algorithm/program to (i) Insert an element in the queue. (ii) Delete an element from the queue.

Mathematical-model with a collection of operations, A mathematical-model wi...

A mathematical-model with a collection of operations described on that model is known as??? Abstract Data Type

Write the algorithm of the quick sort, Ans. An algorithm for the quick...

Ans. An algorithm for the quick sort is as follows: void quicksort ( int a[ ], int lower, int upper ) { int i ; if ( upper > lower ) { i = split ( a, lower, up

Process of channel access, Channel access In first generation systems, ...

Channel access In first generation systems, every cell supports a number of channels. At any given time a channel is allocated to only one user. Second generation systems also

Ruby implements range of t abstract data type, Ruby implements Range of T A...

Ruby implements Range of T Abstract data type Ruby implements Range of T ADT in its Range class. Elements of carrier set are represented in Range instances by recording interna

Implement an open hash table, In a chained hash table, each table entry is ...

In a chained hash table, each table entry is a pointer to a collection of elements. It can be any collection that supports insert, remove, and find, but is commonly a linked list.

Hash table, Q. Make the 11 item hash table resulting from hashing the given...

Q. Make the 11 item hash table resulting from hashing the given keys: 12, 44, 13, 88, 23, 94, 11, 39, 20, 16 and 5 by making use of the hash function h(i) = (2i+5) mod 11.

Convertion, how we can convert a graph into tree

how we can convert a graph into tree

Non-recursive algorithm to traverse a tree in preorder, Write the non-recur...

Write the non-recursive algorithm to traverse a tree in preorder.    The Non- Recursive algorithm for preorder traversal is as follows: Initially  push NULL onto stack and

Effective way of storing two symmetric matrices, Explain an efficient and e...

Explain an efficient and effective way of storing two symmetric matrices of the same order in the memory. A n-square matrix array will be symmetric if a[j][k]=a[k][j] for all j

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd