1145 читали · 6 лет назад
Как устроен словарь (dict) в Python
Если с объяснением того, что такое дикт и как его юзать у нас проблем не возникает, то вот ответить как они устроены в Python, а при правильном ответе получить следующий: “А как решаются коллизии?”, то уже ответить проблематичнее. Отвечаю сразу на первый вопрос - в Python’e ассоциативный массив реализован с помощью хеш-таблицы (для заметки, в C++ красно-чёрные деревья). В основе всего лежит хеш-функция. И вот многие говорят, что хорошая хеш-функция эта то, что дает более рандомный ответ, но разрабы путона так не считают и их хеша схожи, даже для разных строк. Этим свойством они пользуются для оптимизации, но об этом ниже...
2 года назад
Секреты Dict и Set в Python. Хэш-таблицы.
Оглавление: 1. Сравнение скорости поиска в разных типах контейнеров 2. Хэш функция 3. Множества 4. Словари Сравнение скорости поиска в разных типах контейнеров В данной статье мы разберемся в устройстве работы структуры данных "хэш таблица". А также посмотрим на dict и set в python, которые являются ее реализациями. Давайте разберем простой пример. Будем искать иголки в стоге сена. Давайте используем для поиска разные типы контейнеров, такие как list, array, set, и сравним результаты по скорости работы и памяти...