## Wednesday, December 18, 2019

### Python Program to Find the Nearest Common Ancestor in the Given set of Nodes Suppose we have a binary tree, so
the least common ancestor of the

i)               node 9 and node 6    =>    node 1

ii)              node 5 and node 9    =>    node 5

iii)            node 4 and node 6    =>    node 7

Definition of Nearest Common Ancestor

Let T be a binary tree. Let u and v be the nodes. The lowest common ancestor between two nodes u and v is defined as the lowest node In T that has both u and v as descendants. The Lca is the shared ancestor of u and v.

ALGORITHM

1.) If (node found)

return node

else

return Null

2.) Traverse the nodes in Binary Tree using the inorder traversal i.e left -> parent ->   right node

3.) If the both node returns not null then it is the lowest common ancestor
If at least one node returns Null then still we haven%u2019t got lowest common ancestor

The third point can be described using the below diagram:- class Node:
def __init__(self,data):
#Assign data to the new node, set left and right children to None
self.data = data;
self.left = None;
self.right = None;

def lowestCommonAncestor(root,n1,n2):        # Here, root represents the parent node

# Step 1
if(root is None):
return None

if(root.data == n1 or root.data==n2):
return root

# Step 2
left = lowestCommonAncestor(root.left,n1,n2)
right = lowestCommonAncestor(root.right,n1,n2)

# Step 3
if left and right:     # Both nodes return some value, then we have got the lca [ where root is lca ]
return root

if left:                    # If one node returned NULL
return left
else:
return right

root = Node(11);
root.left = Node(12);
root.right = Node(13);
root.left.left = Node(14);
root.left.right = Node(45);
root.right.left = Node(64);
root.right.right = Node(73);

print(lowestCommonAncestor(root,64,12).data)

Output :- 13  ### Arrays in Solidity Programming Language.

Arrays Solidity supports both generic and byte arrays. It supports both fixed size and dynamic arrays. It also supports multidimensional ...