Можете объяснить принцип работы хеш-таблицы и как осуществляется хранение данных в ней?
Answer from AI
sobes.tech AI
Хеш-таблица — это структура данных, которая обеспечивает очень быстрый доступ к данным по ключу. Принцип работы основан на использовании хеш-функции, которая преобразует ключ в индекс массива, где и хранится соответствующее значение.
Когда нужно сохранить пару ключ-значение, хеш-функция вычисляет индекс, и данные помещаются в ячейку массива по этому индексу. При поиске по ключу хеш-функция снова вычисляет индекс, и по нему быстро находится нужное значение.
Если два разных ключа дают одинаковый индекс (коллизия), то обычно используется метод цепочек — в ячейке хранится список всех элементов с этим индексом, и поиск происходит по этому списку.
Пример на Dart (Flutter):
void main() {
Map<String, int> hashTable = {};
hashTable['apple'] = 5;
hashTable['banana'] = 3;
print(hashTable['apple']); // 5
}
Здесь Map — это реализация хеш-таблицы, где ключ — строка, а значение — число.