GIMP Script-Fu Первый Дан. Реализация Хеш-Таблицы

Библиотека функций к Script-fu Любой современный язык поддерживает множество структур данных, позволяющих программисту эффективно разрабатывать свои программы. В принципе для большинства задач решаемых прикладным программистом достаточно трёх основных структур: список , структура которая может расти неограниченно, но имеющая малую скорость доступа к произвольному элементу, массив (или вектор), структура имеющая быстрый доступ к произвольному элементу, но ограниченная, выбранным заранее размером и хеш-таблица , совмещающая достоинства обоих этих структур, доступ к произвольному элементу, за константное время(чуть большее чем у массива) и имеющая возможность расти неограниченно. Тинисхема имеет в своём наборе возможных структур данных и списки, и массивы, но вот реализации хеш-таблиц для неё нет. В этой статье мы попытаемся исправить этот недостаток, снабдив прикладного программиста ещё одной мощной структурой данных. С чего начать разработку хеш-таблиц? Конечно же с функций создающих хеш-код для примитивных типов данных, которые мы планируем использовать в качестве ключей.

https://habr.com/ru/articles/860576/

#lisp #scheme #scriptfu #gimp #hash_table #hash #hash_function

GIMP Script-Fu Первый Дан. Реализация Хеш-Таблицы

Приблизительно такая структура хеш-таблицы у нас и будет. Библиотека функций к Script-fu Любой современный язык поддерживает множество структур данных, позволяющих программисту эффективно...

Хабр

[Перевод] Python. Внутреннее устройство множеств set и словарей dict. Часть 2 из 2

Продолжение Части 1 4. Хэш-таблицы в dict 4.1. Как компактный dict экономит место и сохраняет порядок 4.2 Алгоритм добавления элементов в компактный dict 4.3. dict с общим доступом к ключам 4.4. Практические выводы по тому как работает dict

https://habr.com/ru/articles/830158/

#python #set #dict #hash_table #hash

Python. Внутреннее устройство множеств set и словарей dict. Часть 2 из 2

→ Часть 1 Содержание 1. Эксперимент с производительностью 2. Хэши и равенство (equality) 2.1 Коллизии хэша 3. Хэш-таблицы в set 3.1. Алгоритм хэш-таблицы 3.2. Практические выводы по тому как работает...

Хабр

[Перевод] Python. Внутреннее устройство множеств set и словарей dict. Часть 1 из 2

Типы dict и set в Python построены на основе хэш-таблиц . В этой статье объясняется как использование хэш-таблиц определяет сильные и слабые стороны этих типов контейнеров. Вот некоторые вопросы, на которые отвечает эта статья: • Насколько эффективны dict и set в Python? • Почему элементы множества неупорядоченны? • Почему мы не можем использовать любой объект Python в качестве ключа dict или элемента set ? • Почему порядок ключей dict зависит от порядка вставки?

https://habr.com/ru/articles/830026/

#python #set #dict #hash_table #hash

Python. Внутреннее устройство множеств set и словарей dict. Часть 1 из 2

Комментарий переводчика Автор использует термин хэш-код ( hash code ). Синонимы: хэш, хеш, хэш-сумма, хэш-значение (hash value). Термины приводятся в английском написании, чтобы: избежать путаницы,...

Хабр