File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
new_issue/data_sturct/binary_tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change
1
+ from initTree import init_tree_from_list
2
+ def inorder_traverse (node ,op_func ):
3
+
4
+ if node .left_child != None :
5
+ inorder_traverse (node .left_child ,op_func )
6
+
7
+ op_func (node )
8
+
9
+ if node .right_child != None :
10
+ inorder_traverse (node .right_child ,op_func )
11
+
12
+
13
+ def inorder_traverse_nonResursion (node ,op_func ):
14
+ stack = []
15
+ root = node
16
+ while len (stack ) != 0 or root != None :
17
+ while root != None :
18
+ stack .append (root )
19
+ root = root .left_child
20
+ op_node = stack .pop ()
21
+ op_func (op_node )
22
+ root = op_node .right_child
23
+
24
+
25
+ if __name__ == "__main__" :
26
+ test_list = range (10 )
27
+ root_node = init_tree_from_list (test_list )
28
+ def visit (node ):
29
+ print node .value
30
+ inorder_traverse_nonResursion (root_node ,visit )
You can’t perform that action at this time.
0 commit comments