Skip to content

Commit c787c13

Browse files
committed
Resolve conflicts
1 parent ce0a013 commit c787c13

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
'''
2+
A binary search Tree
3+
'''
4+
class Node:
5+
6+
def __init__(self, label):
7+
self.label = label
8+
self.left = None
9+
self.rigt = None
10+
11+
def getLabel(self):
12+
return self.label
13+
14+
def setLabel(self, label):
15+
self.label = label
16+
17+
def getLeft(self):
18+
return self.left
19+
20+
def setLeft(self, left):
21+
self.left = left
22+
23+
def getRight(self):
24+
return self.rigt
25+
26+
def setRight(self, right):
27+
self.rigt = right
28+
29+
def sassLabel(self, label):
30+
self.label = label
31+
32+
33+
class BinarySearchTree:
34+
35+
def __init__(self):
36+
self.root = None
37+
38+
def insert(self, label):
39+
40+
#Create a new Node
41+
42+
node = Node(label)
43+
44+
if self.empty():
45+
self.root = node
46+
else:
47+
dad_node = None
48+
curr_node = self.root
49+
50+
while True:
51+
if curr_node != None:
52+
53+
dad_node = curr_node
54+
55+
if node.getLabel() < curr_node.getLabel():
56+
curr_node = curr_node.getLeft()
57+
else:
58+
curr_node = curr_node.getRight()
59+
else:
60+
if node.getLabel() < dad_node.getLabel():
61+
dad_node.setLeft(node)
62+
else:
63+
dad_node.setRight(node)
64+
break
65+
66+
def empty(self):
67+
if self.root == None:
68+
return True
69+
return False
70+
71+
def preShow(self, curr_node):
72+
if curr_node != None:
73+
print(curr_node.getLabel(), end=" ")
74+
75+
self.preShow(curr_node.getLeft())
76+
self.preShow(curr_node.getRight())
77+
78+
def getRoot(self):
79+
return self.root
80+
81+
82+
'''
83+
Example
84+
8
85+
/ \
86+
3 10
87+
/ \ \
88+
1 6 14
89+
/ \ /
90+
4 7 13
91+
'''
92+
93+
t = BinarySearchTree()
94+
t.insert(8)
95+
t.insert(3)
96+
t.insert(1)
97+
t.insert(6)
98+
t.insert(4)
99+
t.insert(7)
100+
t.insert(10)
101+
t.insert(14)
102+
t.insert(13)
103+
104+
t.preShow(t.getRoot())

0 commit comments

Comments
 (0)