[1] 1-st-exercize #193

Open
KislyuninED wants to merge 11 commits from KislyuninED/2026-rff_mp:1-st-exercize into develop
Showing only changes of commit 20cf87fb40 - Show all commits

View File

@ -51,7 +51,7 @@ def ll_list_all(head):
# хеш-функция сумма ord(name) % size
# хеш-функция: сумма ord(name) % size
def _hash(name, size):
h = 0
for ch in name:
@ -181,4 +181,37 @@ def bst_list_all(root):
result.append((node['n'], node['p']))
inorder(node['r'])
inorder(root)
return result
return result
# TESTING
if __name__ == '__main__':
print("=== Linked list test ===")
head = None
head = ll_insert(head, "Ivan", "111")
head = ll_insert(head, "Anna", "222")
head = ll_insert(head, "Ivan", "333")
print(ll_find(head, "Ivan")) # 333
print(ll_list_all(head)) # [('Anna','222'),('Ivan','333')]
head = ll_delete(head, "Anna")
print(ll_list_all(head)) # [('Ivan','333')]
print("\n=== Hash table test ===")
buckets = ht_create()
ht_insert(buckets, "Ivan", "111")
ht_insert(buckets, "Boris", "444")
print(ht_find(buckets, "Ivan")) # 111
print(ht_list_all(buckets)) # [('Boris','444'),('Ivan','111')]
print("\n=== BST test ===")
root = None
root = bst_insert(root, "Ivan", "111")
root = bst_insert(root, "Anna", "222")
root = bst_insert(root, "Ivan", "333")
print(bst_find(root, "Ivan")) # 333
print(bst_list_all(root)) # [('Anna','222'),('Ivan','333')]