2 solutions

1.

node* arr[100];
int j=0;

inorder(node * ptr)
{
  if(ptr)
 {
     inorder(ptr->left);
        arr[j++]=ptr;
    inorder(ptr->right);
 }
}

u will have all the addresses in inorder fashion.... now its easy to watch
any successor ...    :P  :P

2. best solution
//considering that there is 1 more field in the structure


typedef struct bin
{
  struct bin* left;
  int data;
  struct bin* right;
  struct bin* succ;
 }


inorder
{
  if(ptr)
  {
    static int p=0;
     inorder(ptr->left)
      if(p)  ptr->succ=prev; //here we are skipping 1st left most leaf
because it has no successor
    p=1;
    prev=ptr;
    inorder(ptr->right);
 }
}


simplest and short code  :)   :)    :)

anyone have  better code???




On Sat, Aug 6, 2011 at 6:52 PM, UTKARSH SRIVASTAV
<[email protected]>wrote:

> sorry two cases only
>
>
> On Sat, Aug 6, 2011 at 6:21 AM, UTKARSH SRIVASTAV <[email protected]
> > wrote:
>
>> pseudo code
>>
>>        three cases are possible
>>   1.node has left and right child
>>      then inorder succesor will be leftmost child of right child
>> 2.   node has left child and no right child or no left and right chid
>>      if node is left child of it's parent then inorder succesor is it's
>> parent only
>>      if node is right child of it's parent then keep on moving upwards
>> until you find a parent which is left child of it's parent
>>  then it will be the inorder succesor....if you reach node then no inorder
>> succesor
>>
>> --
>> *UTKARSH SRIVASTAV
>> CSE-3
>> B-Tech 3rd Year
>> @MNNIT ALLAHABAD*
>>
>>
>
>
> --
> *UTKARSH SRIVASTAV
> CSE-3
> B-Tech 3rd Year
> @MNNIT ALLAHABAD*
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
**Regards
SAGAR PAREEK
COMPUTER SCIENCE AND ENGINEERING
NIT ALLAHABAD

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

Reply via email to