По сути, анаграммы подобны перестановке строк. Например, stack
, sackt
, stakc
все являются анаграммами stack
(мысли выше слова не имеют смысла). В любом случае, вы могли бы понять, что я в основном имел в виду.
Теперь я хочу список анаграмм
данных миллионов слов или просто слова из словаря.
Мой основной вопрос: Найти общее количество уникальных анаграмм в словаре?
Сортировка и сравнение не будет работать, так как сложность времени довольно плохая.
Я подумал об использовании хэш-таблицы, строки в качестве ключа.
Но проблема в том, какой должна быть хэш-функция? Было бы полезно, если бы какой-нибудь псевдокод при условии. Некоторые другие подходы лучше, чем упомянутые подходы, также были бы полезны.
Спасибо.