-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbinary-tree.py
More file actions
38 lines (32 loc) · 1.25 KB
/
binary-tree.py
File metadata and controls
38 lines (32 loc) · 1.25 KB
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
import sys
class binary_tree:
def __init__(self, val):
self.store = [val, [], []]
def AddLeft(self, val):
if self.store[1] == []:
self.store[1] += [val, [], []]
return True
else:
return False
def AddRight(self, val):
if self.store[2] == []:
self.store[2] += [val, [], []]
return True
else:
return False
def inOrder(self, l):
if (self.store[1] != []):
inOrder(self.store[1])
sys.stdout.write(str(self.store[0]) + " ")
if (self.store[2] != []):
inOrder(self.store[2])
def Print_DepthFirst(self):
return self.Traverse(0)
def Traverse(self, level):
indent = level*' '
print indent + str(self.store[0])
for i in range(0, len(self.store[1])):
self.store[1][i].Traverse(level+1)
for j in range(0,len(self.store[2])):
self.store[2][j].Traverse(level+1)
return True