From f2df567d0fee8ccff2ee3921486134b56166adf0 Mon Sep 17 00:00:00 2001 From: kirill Date: Mon, 13 Apr 2026 19:02:45 +0300 Subject: [PATCH] add ht --- svetlakovkyu/docs/data/01/codes/HT.py | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 svetlakovkyu/docs/data/01/codes/HT.py diff --git a/svetlakovkyu/docs/data/01/codes/HT.py b/svetlakovkyu/docs/data/01/codes/HT.py new file mode 100644 index 0000000..8680c91 --- /dev/null +++ b/svetlakovkyu/docs/data/01/codes/HT.py @@ -0,0 +1,28 @@ +from codes.LL import ll_insert, ll_find, ll_delete +def ht_insert(buckets, name, phone): + index = hash(name) % len(buckets) + current_head = buckets[index] + new_head = ll_insert(current_head, name, phone) + buckets[index] = new_head +# print("-"*100) +# print(buskets) + +def ht_find(buckets, name): + index = hash(name)%len(buckets) + slot_head = buckets[index] + res_ph = ll_find(slot_head, name) + return res_ph + +def ht_delete(buskets, name): + index = hash(name)%len(buskets) + buskets[index] = ll_delete(buskets[index], name) + +def ht_list_all(buckets): + all_rec = [] + for head in buckets: + current = head + while current is not None: + all_rec.append((current['name'], current['phone'])) + current = current['next'] + all_rec.sort() + return all_rec \ No newline at end of file