Skip to content

Commit 0482b45

Browse files
committed
refactor: hash table
1 parent fe57ae3 commit 0482b45

1 file changed

Lines changed: 0 additions & 63 deletions

File tree

notes/hash_table.py

Lines changed: 0 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,3 @@
1-
# """
2-
# Хэш таблица - это структура данных, которая обеспечивает быстрый доступ к элементам по ключу.
3-
# Она использует хэш-функцию (hash function) для преобразования ключа в индекс массива,
4-
# где хранится соответствующее значение.
5-
# """
6-
#
7-
# class HashTable:
8-
# def __init__(self, size=10):
9-
# self.size = size
10-
# self.table = [[] for _ in range(size)] # каждый слот — список (цепочка)
11-
#
12-
# def _hash(self, key):
13-
# """Хэшируем с помощью встроенной функции hash()"""
14-
# return hash(key) % self.size
15-
#
16-
# def insert(self, key, value):
17-
# index = self._hash(key)
18-
# # проверяем, есть ли ключ
19-
# for pair in self.table[index]:
20-
# if pair[0] == key:
21-
# pair[1] = value # обновляем
22-
# return
23-
# self.table[index].append([key, value]) # вставляем новый
24-
#
25-
# def get(self, key):
26-
# index = self._hash(key)
27-
# for pair in self.table[index]:
28-
# if pair[0] == key:
29-
# return pair[1]
30-
# return None
31-
#
32-
# def delete(self, key):
33-
# index = self._hash(key)
34-
# for i, pair in enumerate(self.table[index]):
35-
# if pair[0] == key:
36-
# del self.table[index][i]
37-
# return True
38-
# return False
39-
#
40-
# def __str__(self):
41-
# result = ""
42-
# for i, chain in enumerate(self.table):
43-
# result += f"{i}: {chain}\n"
44-
# return result
45-
#
46-
#
47-
# # Пример использования
48-
# ht = HashTable(size=5) # маленький размер, чтобы увидеть коллизии
49-
#
50-
# ht.insert("apple", 10)
51-
# ht.insert("banana", 20)
52-
# ht.insert("orange", 30)
53-
# ht.insert("grape", 40)
54-
# ht.insert("melon", 50)
55-
#
56-
# print("Хэш-таблица после вставок:")
57-
# print(ht)
58-
#
59-
# print("Значение по ключу 'banana':", ht.get("banana"))
60-
#
61-
# ht.delete("orange")
62-
# print("После удаления 'orange':")
63-
# print(ht)
641

652
text = "spam spam eggs spam"
663
freq = {}

0 commit comments

Comments
 (0)