Wednesday, December 18, 2019

Python program to print cousins of a given node in binary tree

# program t print cousing in binary tree
# class Node
class Node:
    def __init__(self, data): = data
        self.left = None
        self.right = None
# function for checking is sibling or not..
def checkSibling(root, a, b):
    if root is None:
        return 0

    return ((root.left == a and root.right == b) or
            (root.left == b and root.right == a) or
            checkSibling(root.left, a, b) or
            checkSibling(root.right, a, b))

def level(root, ptr, lev):

    if root is None:
        return 0
    if root == ptr:
        return lev

    l = level(root.left, ptr, lev + 1)
    if l != 0:
        return l

    return level(root.right, ptr, lev + 1)

def checkcousin(root, a, b):

    if ((level(root, a, 1) == level(root, b, 1)) and
            not (checkSibling(root, a, b))):
        return 1
        return 0

root = Node(10)
root.left = Node(11)
root.right = Node(12)
root.left.left = Node(13)
root.left.right = Node(14)
root.left.right.right = Node(15)
root.right.left = Node(16)
root.right.right = Node(17)
root.right.left.right = Node(18)
root.left.left.left = Node(15)

node1 = root.left.right
node2 = root.right.right
node3= root.left.left
node4 = root.right.left

# check node node1 and node 2 is cousin or not.
print("Yes" if checkcousin(root, node1, node2) == 1 else "No")

# check node node3 and node 4 is cousin or not.
print("Yes" if checkcousin(root, node3, node4) == 1 else "No")

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 ...