tag:blogger.com,1999:blog-3418265334198879901.post2836486505216890607..comments2023-06-10T14:12:41.433+05:30Comments on Coders Stop: [Amazon Online Test] : Finding the inorder successorAviralhttp://www.blogger.com/profile/11920144614598355124noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-3418265334198879901.post-85859324028969459972012-08-25T11:29:21.189+05:302012-08-25T11:29:21.189+05:30Using Modified inorder traverse we can perform th...Using Modified inorder traverse we can perform this task.<br />1>First visit righ->child<br />2>root<br />3>the visit left->child<br />In b/w them we could keep track of last visited node which is nothing but the inorder successor of current node.<br /><br />for greastest element we need to take that there is no inorder successor of so we need to fill it as NULLArchita Guptahttps://www.blogger.com/profile/14438443081898980722noreply@blogger.comtag:blogger.com,1999:blog-3418265334198879901.post-66706931854375852772012-04-07T08:39:29.104+05:302012-04-07T08:39:29.104+05:30We can use reverse inorder traversal and a static ...We can use reverse inorder traversal and a static node to store the inorder successor in recursive manner.We can also store a reference to the inorder successor and pass it as argument.<br /><br />void setInorderSucc(Node *root)<br />{<br /> if(!root) return;<br /> if(isleaf(root)) return;<br /> helper(root);<br />}<br />void helper(Node *p)<br />{<br /> static Node *Insucc=NULL;<br /> if(!p) return;<br /><br /> if(p->right) helper(p->right);<br /> p->next=Insucc;<br /> Insucc=p;<br /> if(p->left) helper(p->left);<br />}Anonymoushttps://www.blogger.com/profile/01494822120039493132noreply@blogger.com