forked from flh4/Python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbinaryTree.py
More file actions
37 lines (28 loc) · 917 Bytes
/
Copy pathbinaryTree.py
File metadata and controls
37 lines (28 loc) · 917 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class node(object):
def __init__(self, value):
self.value = value
self.left = None
self.right = None
class BinaryTree(object):
def __init__(self, root):
self.root = node(root)
def print_tree(self, traversal_type):
if traversal_type == "preorder":
return self.preorder_print(mytree.root, "")
else:
print("Traversal type "+str(traversal_type)+" is not supported.")
def preorder_print(self, start, traversal):
if start:
traversal += (str(start.value) + "-")
traversal = self.preorder_print(start.left, traversal)
traversal = self.preorder_print(start.right, traversal)
return traversal
# TEST
mytree = BinaryTree(1)
mytree.root.left = node(2)
mytree.root.right = node(3)
mytree.root.left.left = node(4)
mytree.root.left.right = node(5)
mytree.root.right.left = node(6)
mytree.root.right.right = node(7)
print(mytree.print_tree("preorder"))