mirror of
https://github.com/TheAlgorithms/Python.git
synced 2025-02-25 02:18:39 +00:00
Compare commits
No commits in common. "02fe6955e50d49136d121e8138f616a0ee249ce0" and "0b20f110a1e535acb01c2557860117bcc1c43d7d" have entirely different histories.
02fe6955e5
...
0b20f110a1
@ -12,38 +12,20 @@ class Node:
|
||||
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.left = Node(0)
|
||||
>>> root.right = Node(2)
|
||||
>>> display(root)
|
||||
0
|
||||
1
|
||||
2
|
||||
>>> display(root.right)
|
||||
2
|
||||
"""
|
||||
if tree:
|
||||
display(tree.left)
|
||||
print(tree.data)
|
||||
display(tree.right)
|
||||
|
||||
|
||||
def display_using_in_order_traversal(root: Node | None, level: int = 0) -> None:
|
||||
"""
|
||||
>>> root = Node(1)
|
||||
>>> root.left = Node(0)
|
||||
>>> root.right = Node(2)
|
||||
>>> root.left = Node(2)
|
||||
>>> root.right = Node(3)
|
||||
>>> display_tree(root)
|
||||
2
|
||||
3
|
||||
1
|
||||
0
|
||||
2
|
||||
"""
|
||||
if root:
|
||||
display_using_in_order_traversal(root.right, level + 1)
|
||||
print(f"{' ' * level}{root.data}")
|
||||
display_using_in_order_traversal(root.left, level + 1)
|
||||
display_tree(root.right, level + 1)
|
||||
print(" " * level + str(root.data))
|
||||
display_tree(root.left, level + 1)
|
||||
|
||||
|
||||
def depth_of_tree(tree: Node | None) -> int:
|
||||
@ -110,8 +92,7 @@ def main() -> None: # Main function for testing.
|
||||
print(is_full_binary_tree(tree))
|
||||
print(depth_of_tree(tree))
|
||||
print("Tree is: ")
|
||||
display_using_in_order_traversal(tree)
|
||||
display(tree)
|
||||
display_tree(tree)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
Loading…
x
Reference in New Issue
Block a user