mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-29 20:26:07 -04:00
Update bt.py
This commit is contained in:
parent
096185a6e8
commit
b5c71cf3d5
19
trees/bt.py
19
trees/bt.py
@ -12,24 +12,17 @@ class Node(object):
|
|||||||
|
|
||||||
def add(self, value):
|
def add(self, value):
|
||||||
new_node = Node(value)
|
new_node = Node(value)
|
||||||
if not self.value:
|
if not self.left:
|
||||||
self.value = new_node
|
|
||||||
elif not self.left:
|
|
||||||
self.left = new_node
|
self.left = new_node
|
||||||
elif not self. right:
|
elif not self.right:
|
||||||
self.right = new_node
|
self.right = new_node
|
||||||
else:
|
else:
|
||||||
self.left = self.left.add(value)
|
self.left = self.left.add(value)
|
||||||
return self
|
|
||||||
|
|
||||||
def search(self, item):
|
def search(self, item):
|
||||||
if self.value == item:
|
return self.value == item or \
|
||||||
return True
|
(self.left and self.left.search(item)) or \
|
||||||
|
(self.right and self.right.search(item))
|
||||||
if (self.left and self.left.search(item)) or \
|
|
||||||
(self.right and self.right.search(item)):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def preorder(self):
|
def preorder(self):
|
||||||
yield self.value
|
yield self.value
|
||||||
@ -101,5 +94,3 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
print(f'\n🟢 Search for node 5: {bt.search(5)}')
|
print(f'\n🟢 Search for node 5: {bt.search(5)}')
|
||||||
print(f'❌ Search for node 15: {bt.search(15)}')
|
print(f'❌ Search for node 15: {bt.search(15)}')
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user