While constructing the tree store it's parent+info at parent.
For example:

1(null)
2(1)   3(1)
4(2,1)  5(2,1)   6(3,1) 7(3,1)
8(4,2,1)......... and so on.

So all you have to do is search for the node which can be done in O(n)
time { where n = number of elements in the tree} and print the value
at that node.
(I've done it in reverse, but you get the idea). I doubt you can do it
in lesser than O(n) time as search in a simple binary tree is an O(n)
operation.

On Sep 6, 11:08 pm, Debajyoti Sarma <sarma.debajy...@gmail.com> wrote:
> How to print the path from root to a specific node in a binary tree??
> I want to store the path in a array[] of node*.
> can it b done in O(n) or less?
> Remember it's not BST.
>
>               1
>           /       \
>       2              3
>      /  \           /   \
>   4     5       6        7
>  / \    /  \     / \      /  \
> 8 9 10 11 12 13 14 15
>
> path of 6 will b 1,3,6.
> path of 9 will be 1,2,5,11

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to