obter lista de anagramas de um dicionário

Basicamente, anagramas são como permutação de string.E.gstack ,sackt ,stakc todos são anagramas destack (pensamento acima palavras não são significativas). De qualquer forma você poderia ter entendido o que eu basicamente queria dizer.

Agora eu quero uma lista deanagrams dado milhões de palavras ou simplesmente dizer de um dicionário.

Minha pergunta básica éFind total number of unique anagrams in a dictionary?

Classificar e comparar não funcionará, pois a complexidade do tempo é muito ruim.

Eu pensei em usar tabela de hash, string como chave.

Mas o problema é o que deveria ser a função hash? Seria útil se algum pseudocódigo fosse fornecido. Algumas outras abordagens melhores do que as abordagens mencionadas também seriam úteis.

Obrigado.

questionAnswers(3)

yourAnswerToTheQuestion