Содержание
- 2. АТД «Словарь» (dictionary) Словарь (ассоциативный массив, associative array, map, dictionary) – структура данных (контейнер) для хранения
- 3. Хеш-таблицы (Hash tables) Хеш-таблица (hash table) – структура данных для хранения пар «ключ – значение» Доступ
- 4. Основная идея Чем хороши статические массивы int v[100]? Быстрый доступ O(1) к элементу массива по его
- 5. Основная идея Чем хороши статические массивы int v[100]? Быстрый доступ O(1) к элементу массива по его
- 6. Хеш-таблицы (Hash tables) Ключ (Key) “Антилопа Гну” Хеш-таблица (Hash table) Хеш-функция (Hash function) hash(key) -> int
- 7. Хеш-таблицы (Hash tables) Хеш-таблица (Hash table) 0 1 2 … h – 1
- 8. Хеш-функции (Hash function) Хеш-функция (Hash function) – это функция преобразующая значения ключа (например: строки, числа, файла)
- 9. Хеш-функции (Hash function) Хеш-функция (Hash function) – это функция преобразующая значения ключа (например: строки, числа, файла)
- 10. Хеш-функции (Hash function) #define HASH_MUL 31 #define HASH_SIZE 128 unsigned int hash(char *s) { unsigned int
- 11. Понятие коллизии (Collision) Коллизия (Collision) – это совпадение значений хеш-функции для двух разных ключей Keys Hashes
- 12. Разрешение коллизий (Collision resolution) Метод цепочек (Chaining) – закрытая адресация Элементы с одинаковым значением хеш-функции объединяются
- 13. Разрешение коллизий (Collision resolution) Открытая адресация (Open addressing) В каждой ячейке хеш-таблицы хранится не указатель на
- 14. Требования к хеш-функциям Быстрое вычисление хэш-кода по значению ключа Сложность вычисления хэш-кода не должна зависеть от
- 15. Требования к хеш-функциям Равномерность (uniform distribution) – хеш-функция должна равномерно заполнять индексы массива возвращаемыми номерами Желательно,
- 16. Требования к хеш-функциям Равномерность (uniform distribution) – хеш-функция должна равномерно заполнять индексы массива возвращаемыми номерами Желательно,
- 17. Эффективность хеш-таблиц Хеш-таблица требует предварительной инициализации ячеек значениями NULL – трудоемкость O(h)
- 18. Пример хэш-функции для строк unsigned int ELFHash(char *key, unsigned int mod) { unsigned int h =
- 19. Jenkins hash functions uint32_t jenkins_hash(char *key, size_t len) { uint32_t hash, i; for (hash = i
- 20. Пример хэш-функции для чисел Ключи – размер файла (int) Значение, хранимое в словаре – название файла
- 21. Пример хэш-функции для строк
- 22. Хеш-таблицы (Hash table) Длину h хеш-таблицы выбирают как простое число Для такой таблицы модульная хеш-функция дает
- 23. Хеш-таблицы vs. Бинарное дерево поиска Эффективность реализации словаря хеш-таблицей (метод цепочек) и бинарным деревом поиска Ключ
- 24. Хеш-таблицы vs. Бинарное дерево поиска Эффективность реализации словаря хеш-таблицей (метод цепочек) и бинарным деревом поиска Ключ
- 25. Реализация хеш-таблицы #include #include #include #define HASHTAB_SIZE 71 #define HASHTAB_MUL 31 struct listnode { char *key;
- 26. Хеш-функция unsigned int hashtab_hash(char *key) { unsigned int h = 0; char *p; for (p =
- 27. Инициализация хеш-таблицы void hashtab_init(struct listnode **hashtab) { int i; for (i = 0; i hashtab[i] =
- 28. Добавление элемента в хеш-таблицу void hashtab_add(struct listnode **hashtab, char *key, int value) { struct listnode *node;
- 29. Поиск элемента struct listnode *hashtab_lookup( struct listnode **hashtab, char *key) { int index; struct listnode *node;
- 30. Поиск элемента int main() { struct listnode *node; hashtab_init(hashtab); hashtab_add(hashtab, "Tigr", 190); hashtab_add(hashtab, "Slon", 2300); hashtab_add(hashtab,
- 31. Удаление элемента void hashtab_delete(struct listnode **hashtab, char *key) { int index; struct listnode *p, *prev =
- 32. Удаление элемента int main() { struct listnode *node; /* ... */ hashtab_delete(hashtab, "Slon"); node = hashtab_lookup(hashtab,
- 34. Скачать презентацию


![Основная идея Чем хороши статические массивы int v[100]? Быстрый доступ O(1) к](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/945724/slide-3.jpg)
![Основная идея Чем хороши статические массивы int v[100]? Быстрый доступ O(1) к](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/945724/slide-4.jpg)



























1C: Предприятия. Оценка персонала
Контактный центр будущего
Циклический алгоритм
Интернет-технологии. Учебное пособие
Диаграмма Исикава
Применение ОРС технологий
CSS (Cascading Style Sheets)
Countdown 4 Poster Scheme
Общие сведения о САПР
Компоненты компьютера и их функции. Тест
Научно-иследовательская работа на тему: Учёт распределения продукции со склада
Операторы языка GavaScript
Правила этикета при работе с компьютерной сетью
Install unity 2018.4
Основы построения моделирующего алгоритма в среде GPSS World
Publicidad y propaganda. Библиография
Системы счисления. Игра футбол
Списание служебного питания
Наука информатика
Условия. Ветвление алгоритма. Конструкция логического выбора if
Запоминающие устройства
ТОП игр дистанционно
2.1. FIORI Навигация
Kofax. Настраиваемые (обучаемые) локаторы для счет-фактуры
Создание конференции в Zoom
Основы скетчноутинга
Внешний вид ЦПУ
Тренинг Решение задач ЕГЭ с использованием графов