Spread the post

Print all nodes at odd levels of binary tree

Print all nodes of a binary tree which are present in Odd level. without using recursion.

For example Given Binary tree are contain following nodes.

13762485910

Result : 1 4 5 6 7 10

View odd level of given tree.

13762485910

Hint: User queue to solve this problem.

View pointers and nodes of tree.

Stack Areamainhead(pointer) NULLroot(pointer)tail(pointer) NULL Heap Areastruct Treedata (int)= 1left (pointer) right (pointer) struct Treedata (int)= 2left (pointer) right (pointer) struct Treedata (int)= 3left (pointer) right (pointer) struct Treedata (int)= 4left (pointer) right (pointer)= NULLstruct Treedata (int)= 5left (pointer) right (pointer)= NULLstruct Treedata (int)= 7left (pointer)= NULLright (pointer)= NULLstruct Treedata (int)= 9left (pointer)= NULLright (pointer) struct Treedata (int)= 6left (pointer)= NULLright (pointer)= NULLstruct Treedata (int)= 8left (pointer)= NULLright (pointer)= NULLstruct Treedata (int)= 10left (pointer)= NULLright (pointer)= NULL

Try it Yourself

C program for print odd levels of a given binary tree. using queue.


Output

View process

Stack Areamainhead(pointer)root(pointer)tail(pointer)odd_leveltemp(pointer) Heap Areastruct Treedata (int)= 1left (pointer) right (pointer) struct Treedata (int)= 2left (pointer) right (pointer) struct Treedata (int)= 3left (pointer) right (pointer) struct Treedata (int)= 4left (pointer) right (pointer)= NULLstruct Treedata (int)= 5left (pointer) right (pointer)= NULLstruct Treedata (int)= 7left (pointer)= NULLright (pointer)= NULLstruct Treedata (int)= 9left (pointer)= NULLright (pointer) struct Treedata (int)= 6left (pointer)= NULLright (pointer)= NULLstruct Treedata (int)= 8left (pointer)= NULLright (pointer)= NULLstruct Treedata (int)= 10left (pointer)= NULLright (pointer)= NULLstruct Queuelevel (int)= 0link (pointer) next (pointer) struct Queuelevel (int)= 1link (pointer) next (pointer) struct Queuelevel (int)= 1link (pointer) next (pointer) struct Queuelevel (int)= 2link (pointer) next (pointer) struct Queuelevel (int)= 2link (pointer) next (pointer) struct Queuelevel (int)= 2link (pointer) next (pointer) struct Queuelevel (int)= 2link (pointer) next (pointer) struct Queuelevel (int)= 3link (pointer) next (pointer) struct Queuelevel (int)= 3link (pointer) next (pointer) struct Queuelevel (int)= 4link (pointer) next (pointer)= NULL

Try it Yourself

Spread the post

Recommended Posts: