Ejemplo n.º 1
0
from BinaryTree import Node


def depthBinaryTree(root):
    if root is None:
        return 0
    return max(depthBinaryTree(root.left), depthBinaryTree(root.right)) + 1


if __name__ == "__main__":
    root = Node(27)
    root.left = Node(14)
    root.right = Node(35)
    root.left.left = Node(10)
    root.left.right = Node(19)
    root.right.left = Node(31)
    root.right.right = Node(42)
    root.left.left.left = Node(45)
    print("Inorder:")
    print(*root.inorderTraversal(root))
    print(f"Depth: {depthBinaryTree(root)}")
Ejemplo n.º 2
0
from BinaryTree import Node

def areMirrors(root1, root2):
    if root1 is None and root2 is None:
        return True
    if root1 is None or root2 is None:
        return False
    return root1.data == root2.data and areMirrors(root1.left, root2.right) and areMirrors(root1.right, root2.left)

if __name__ == "__main__":
    root1 = Node(1)
    root2 = Node(1)

    root1.left = Node(2)
    root1.right = Node(3)
    root1.left.left = Node(4)
    root1.left.right = Node(5)

    root2.left = Node(3)
    root2.right = Node(2)
    root2.right.left = Node(5)
    root2.right.right = Node(4)
    print("Inorder (Tree1):")
    print(*root1.inorderTraversal(root1))
    print("Inorder (Tree2):")
    print(*root2.inorderTraversal(root2))
    print(areMirrors(root1, root2))