[9] adding bst_insert()

This commit is contained in:
lukovnikovde 2026-05-01 16:26:24 +00:00
parent 6cbe3dc439
commit 6849fc4802

View File

@ -190,10 +190,59 @@ def HashTable(buckest):
print("========= END TESTING ==============\n\n")
#################################################################################################
def bst_insert(root, name, phone):
running = root
if running is None:
root = {'name': name, 'phone': phone, 'left': None, 'right': None}
return root
while True:
node = sum(ord(ch) for ch in running['name'])
sheet = sum(ord(ch) for ch in name)
if node < sheet:
if running['right'] is None:
running['right'] = {'name': name, 'phone': phone, 'left': None, 'right': None}
return root
running = running['right']
elif node > sheet:
if running['left'] is None:
running['left'] = {'name': name, 'phone': phone, 'left': None, 'right': None}
return root
running = running['left']
else:
running['phone'] = phone
return root
#################################################################################################
def BinarySearchTree(root):
print('=========== TESTING BST_INSERT =============')
Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena']
for _ in range(10):
name = Name[rnd.randint(0, len(Name) - 1)]
phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \
str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9))
print(name, phone)
root = bst_insert(root, name, phone)
print(root)
print('-----------------------------------------------------\n')
print('============= END TESTING =====================\n\n')
################################################################################################
def main():
LinkedList(None)
HashTable([[] for _ in range(10)])
BinarySearchTree(None)
if __name__ == "__main__":
main()