Solution:
------------
let a and b be given nos ( or values of given nodes )
common_ance( node )
{
........if( ( a <node && b > node ) || ( a > node && b < node ) || a == node || b== node)
........ return node
........else if ( a < node && b < node )
........ return common_ance( node - > left )
........ else
........ return common_ance ( node -> right )
}
initial call is common_ance( root )
Psudocode:
----------------
first condition checks if given nodes lie in left n right subtrees of root
if yes return root
else
if both lie in left subtree then call common_ance( root -> left )
else common_ance ( root - > right )
------------
let a and b be given nos ( or values of given nodes )
common_ance( node )
{
........if( ( a <node && b > node ) || ( a > node && b < node ) || a == node || b== node)
........ return node
........else if ( a < node && b < node )
........ return common_ance( node - > left )
........ else
........ return common_ance ( node -> right )
}
initial call is common_ance( root )
Psudocode:
----------------
first condition checks if given nodes lie in left n right subtrees of root
if yes return root
else
if both lie in left subtree then call common_ance( root -> left )
else common_ance ( root - > right )
Powered by ScribeFire.