Update display function to display_tree for visual tree representation.

This commit is contained in:
di-was 2023-07-23 17:25:41 +05:45
parent 9e08c7726d
commit 6322c04814

View File

@ -12,22 +12,21 @@ class Node:
self.right: Node | None = None self.right: Node | None = None
def display(tree: Node | None) -> None: # In Order traversal of the tree
def display_tree(root: Node | None, level : int = 0) -> None:
""" """
>>> root = Node(1) >>> root = Node(1)
>>> root.left = Node(0) >>> root.left = Node(2)
>>> root.right = Node(2) >>> root.right = Node(3)
>>> display(root) >>> display_tree(root)
0 3
1 1
2 2
>>> display(root.right)
2
""" """
if tree: if root:
display(tree.left) display_tree(root.right, level + 1)
print(tree.data) print(" " * level + str(root.data))
display(tree.right) display_tree(root.left, level + 1)
def depth_of_tree(tree: Node | None) -> int: def depth_of_tree(tree: Node | None) -> int:
@ -94,7 +93,7 @@ def main() -> None: # Main function for testing.
print(is_full_binary_tree(tree)) print(is_full_binary_tree(tree))
print(depth_of_tree(tree)) print(depth_of_tree(tree))
print("Tree is: ") print("Tree is: ")
display(tree) display_tree(tree)
if __name__ == "__main__": if __name__ == "__main__":