STL. Unordered_map / unordered_set
В ряде случаев становится удобным использовать ХЕШ-таблицу как ключ для поиска значений, в этом случае используются unordered_map/ unordered_set из библиотек
#include <unordered_map>#include <unordered_set>
Стандартная библиотека может посчитать хеш-суммы для стандартных типов данных, для пользовательских типов данных (классов) можно написать свою функцию подсчета хеш-сумм и передать ее в шаблон unordered_map/ unordered_set.
Одним из вариантов рассчета новых хеш сумм для пользовательских классов является сложение хеш сумм для более простых типов по «исключающему или ^»
Главный принцип остается таким же как в обычном бинарном дереве (собственно в теме бинарного дерева рассказывалось о принципах формирования и хеш суммах) .