Хэш таблица: реализация, применение и особенности
class HashTable:
def __init__(self):
self.size = 10
self.table = [None] * self.size
def hash_function(self, key):
# Простой алгоритм хеширования
hash_sum = 0
for char in key:
hash_sum += ord(char)
return hash_sum % self.size
def put(self, key, value):
index = self.hash_function(key)
if self.table[index] is None:
self.table[index] = []
self.table[index].append((key, value))
def get(self, key):
index = self.hash_function(key)
if self.table[index] is not None:
for pair in self.table[index]:
if pair[0] == key:
return pair[1]
return None
Здесь мы создаем класс HashTable с методами hash_function, put и get. hash_function принимает ключ и возвращает индекс ячейки в массиве таблицы. Метод put позволяет добавить пару "ключ-значение" в таблицу. Метод get возвращает значение, связанное с заданным ключом.
Протестируем нашу реализацию:
hash_table = HashTable()
hash_table.put("красный", "#FF0000")
hash_table.put("зеленый", "#00FF00")
hash_table.put("синий", "#0000FF")
print(hash_table.get("красный")) # Вывод: #FF0000
print(hash_table.get("зеленый")) # Вывод: #00FF00
print(hash_table.get("синий")) # Вывод: #0000FF
В этом примере мы создали хэш-таблицу, добавили несколько элементов с ключами и значениями, а затем мы получаем значения, связанные с заданными ключами.
Хэш-таблицы часто используются в различных отраслях программирования, таких как базы данных, кэширование, поиск и многое другое. Их эффективность и производительность делают их незаменимыми инструментами в мире программирования.
В этом ответе я рассмотрел принцип работы хэш-таблицы и представил пример реализации на языке программирования Python. Это лишь одна из возможных реализаций, и существует множество других способов создания хэш-таблиц.