@ piyush: u dont need to work with queues, just modify the height
function...
int findDiameter(node *root,int *p){
printf("hi\n");
//if(root->left==NULL && root->right==NULL) return 0;
if(root!=NULL){
int l,r;
l=findDiameter(root->left,p);
r=findDiameter(root->right,p);
*p=max(*p,(l+r));
return max(l,r)+1;
}
return 0;
}
On Mon, May 30, 2011 at 3:16 PM, Piyush Sinha <[email protected]>wrote:
> I think following algo will work..I haven't tested it plus its in its crude
> form...Kindly correct me if i am wrong..
>
> *typedef struct queue
> {
> struct node *q[2];
> int h1,h2;
>
> }queue;*
> **
> *queue max_dist(struct node * tree)
> {
> if (tree == NULL)
> return;
>
> queue q1,q2,q3;
>
> q1.h1 = height(&q1,tree->left,0);
> q1.h2 = height(&q1,tree->right,1);
>
>
> q3 = max_dist(tree->left);
> q4 = max_dist(tree->right); *
> * *
> * if((q3.h1+q3.h2)>(q4.h1+q4.h2))
> {
> if((q3.h1+q3.h2)>(q1.h1+q1.h2+1))
> return q3;
> else
> return q1;
> }
> else
> {
> if((q4.h1+q4.h2)>(q1.h1+q1.h2+1))
> return q4;
> else
> return q1;
> }*
> *} *
> **
> **
> *int height(queue *Q,struct node* node,int i)
> {
> if(node == NULL)
> return;
>
> if(node>left == NULL && node->right == NULL)
> {
> Q->(q[i]) = node;
> return 0;
> }
>
> return 1 + max(height(Q,node->left,i), height(Q,node->right,i));
> }*
>
> On Mon, May 30, 2011 at 2:35 PM, anshu mishra
> <[email protected]>wrote:
>
>> little modification
>> start with any node(r) find the node(x) which is at maximum distance.
>>
>>
>> --
>> 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.
>>
>
>
>
> --
> *Piyush Sinha*
> *IIIT, Allahabad*
> *+91-8792136657*
> *+91-7483122727*
> *https://www.facebook.com/profile.php?id=100000655377926 *
>
> --
> 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.
>
--
Amit Jaspal.
Men do less than they ought,
unless they do all they can
--
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.