Forget my previous post. it useless i think
Firstly there will be only 1 node upwards which will be at a distance
K units from the specified node.
so we can take help of recursion

int kthDistance(node *root, int k ,node *start){
static node * kthUp = NULL;
int distance = -1;
if(node ==NULL) return -1;
else if(node==Start) return 0;
else{
if(node->left){
     leftDepth = kthDistance(node->left);
     if(leftDepth>=0)  distance = leftDepth+1;
}
if(node->right && distance<0){
rightDepth = kthDistance(node->right);
if(rightDepth >=0) distance = rightDepth+1;
}
if(distance ==k) kthUp = node;
return distance;
}
.....

hope this helps

On 2/1/12, atul anand <atul.87fri...@gmail.com> wrote:
> @Manni : didnt get your algo for upward nodes.
>
> On Wed, Feb 1, 2012 at 2:30 PM, Manni mbd <mbd2...@gmail.com> wrote:
>
>> ^same as above..
>> for upward.. start again from the nodes now distance is distance is
>> (distance of start node -k) .. if you reach this from the root.. print
>> it..
>> also better is we use array rather than using linked list .. as
>> sorting can be a tedious task in case of link lists !
>>
>> On 2/1/12, atul anand <atul.87fri...@gmail.com> wrote:
>> > if it is binary tree then to print the downward node...
>> > we can search for start node and then do level-order traversal or BFS
>> from
>> > start node till distance K recursively.
>> >
>> > no as we want nodes to be printed in sorted order..what we do is crated
>> > a
>> > linked-list and insert nodes (found in above method) in sorted way.
>> > then print the linked list.
>> >
>> > for upward nodes......... thinking...........
>> >
>> > On Wed, Feb 1, 2012 at 9:52 AM, atul anand <atul.87fri...@gmail.com>
>> wrote:
>> >
>> >> are you sure given tree is binary tree and not BST.
>> >> if it is BST then we can search start node and then do inorder
>> >> traversal
>> >> from there.
>> >> before thinking printing abt upward node...please confirm if it a
>> >> binary
>> >> tree or BST.
>> >>
>> >>
>> >> On Tue, Jan 31, 2012 at 9:27 PM, Dhirendra Singh <dps...@gmail.com>
>> wrote:
>> >>
>> >>>
>> >>> You are given a function printKDistanceNodes which takes in a root
>> >>> node
>> >>> of a binary tree, a start node and an integer K. Complete the function
>> to
>> >>> print the value of all the nodes (one-per-line) which are a K distance
>> >>> from
>> >>> the given start node in sorted order. Distance can be upwards or
>> >>> downwards.
>> >>>
>> >>>
>> >>> anyone any idea ?? how to print nodes above the specified node,
>> >>>
>> >>> Note : we do not have a reference to parent
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>  --
>> >>> You received this message because you are subscribed to the Google
>> Groups
>> >>> "Algorithm Geeks" group.
>> >>> To post to this group, send email to algogeeks@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.
>> >>>
>> >>
>> >>
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "Algorithm Geeks" group.
>> > To post to this group, send email to algogeeks@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.
>> >
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@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.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@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.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@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