Skip to content

Commit 938a946

Browse files
authored
Add files via upload
1 parent f0a5999 commit 938a946

File tree

1 file changed

+103
-0
lines changed

1 file changed

+103
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
2+
# Using iterative approach
3+
class Node:
4+
def __init__(self, value):
5+
self.value = value
6+
self.rightchild = None
7+
self.leftchild = None
8+
def insert(self, value):
9+
current = self
10+
parent = None
11+
while current:
12+
parent = current
13+
if value< current.value:
14+
current = current.leftchild
15+
else:
16+
current = current.rightchild
17+
if value < parent.value:
18+
parent.leftchild = Node(value)
19+
else:
20+
parent.rightchild = Node(value)
21+
def search(self, value):
22+
current = self
23+
while current:
24+
if value < current.value:
25+
current = current.leftchild
26+
elif value > current.value:
27+
current = current.rightchild
28+
else:
29+
return True
30+
return False
31+
32+
class BinarySearchtree:
33+
def __init__(self, value):
34+
self.root = Node(value)
35+
def insert(self, value):
36+
if self.root:
37+
return self.root.insert(value)
38+
else:
39+
self.root = Node(value)
40+
return
41+
def search(self, svalue):
42+
if self.root:
43+
return self.root.search(svalue)
44+
else:
45+
return False
46+
47+
48+
# Using Recursive Search Method
49+
50+
class Nod:
51+
def __init__(self, value):
52+
self.value = value
53+
self.rchild = None
54+
self.lchild = None
55+
def insert(self, ivalue):
56+
if ivalue < self.value:
57+
if self.lchild:
58+
self.lchild.insert(ivalue)
59+
else:
60+
self.lchild = Nod(ivalue)
61+
return
62+
if ivalue > self.value:
63+
if self.rchild:
64+
self.rchild.insert(ivalue)
65+
else:
66+
self.rchild = Nod(ivalue)
67+
return
68+
def search (self, svalue):
69+
if svalue < self.value:
70+
if self.lchild:
71+
return self.lchild.search(svalue)
72+
else:
73+
return False
74+
elif svalue > self.value:
75+
if self.rchild:
76+
return self.rchild.search(svalue)
77+
else:
78+
return False
79+
else:
80+
return True
81+
return False
82+
83+
84+
class BSTree:
85+
def __init__(self, value):
86+
self.root = Nod(value)
87+
def insert(self, value):
88+
if self.root:
89+
return self.root.insert(value)
90+
else:
91+
self.root = Nod(value)
92+
return True
93+
def search(self, svalue):
94+
if self.root:
95+
return self.root.search(svalue)
96+
else:
97+
return False
98+
99+
100+
101+
102+
103+

0 commit comments

Comments
 (0)