Skip to content

Commit 15e5a54

Browse files
Wesley-Arringtonleios
authored andcommitted
Tree Traversal in Python Corrections (#337)
- Corrected recursion in DFS_recursive_postorder - Fixed DFS_recursive_inorder_btree - Called DFS_recursive_postorder and DFS_recursive_inorder_btree in main()
1 parent d8f2741 commit 15e5a54

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

contents/tree_traversal/code/python/Tree_example.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def DFS_recursive(node):
2525

2626
def DFS_recursive_postorder(node):
2727
for child in node.children:
28-
DFS_recursive(child)
28+
DFS_recursive_postorder(child)
2929

3030
if node.data != None:
3131
print(node.data)
@@ -34,11 +34,11 @@ def DFS_recursive_postorder(node):
3434
# This assumes only 2 children, but accounts for other possibilities
3535
def DFS_recursive_inorder_btree(node):
3636
if (len(node.children) == 2):
37-
DFS_recursive_inorder_btree(node.children[1])
37+
DFS_recursive_inorder_btree(node.children[0])
3838
print(node.data)
39-
DFS_recursive_inorder_btree(node.children[2])
40-
elif (len(node.children) == 1):
4139
DFS_recursive_inorder_btree(node.children[1])
40+
elif (len(node.children) == 1):
41+
DFS_recursive_inorder_btree(node.children[0])
4242
print(node.data)
4343
elif (len(node.children) == 0):
4444
print(node.data)
@@ -80,12 +80,19 @@ def main():
8080
print("Recursive:")
8181
DFS_recursive(tree)
8282

83+
print("Recursive Postorder:")
84+
DFS_recursive_postorder(tree)
85+
8386
print("Stack:")
8487
DFS_stack(tree)
8588

8689
print("Queue:")
8790
BFS_queue(tree)
8891

92+
binaryTree = create_tree(Node(), 3, 2)
93+
94+
print("Recursive Inorder Binary Tree:")
95+
DFS_recursive_inorder_btree(binaryTree)
8996

9097
if __name__ == '__main__':
9198
main()

0 commit comments

Comments
 (0)