obtenir la liste des anagrammes à partir d'un dictionnaire

Fondamentalement, les Anagrammes sont comme permutation de la chaîne.E.g stack ,sackt ,stakc tous sont des anagrammes de stack (la pensée ci-dessus les mots ne sont pas significatives). De toute façon, vous pourriez avoir compris ce que j'ai simplement voulu dire.

Maintenant, je veux une liste de anagrams donné millions de mots, ou tout simplement dire à partir d'un dictionnaire.

Ma question de base est Find total number of unique anagrams in a dictionary?

De tri et de comparaison
ne fonctionnera pas comme il est l'heure de la complexité est assez mauvais.

J'ai pensé à l'aide de la table de hachage, de la chaîne en tant que clé.

Mais le problème, c'est ce que devrait être la fonction de hachage ? Il serait utile si certains pseudo-code
fourni. Quelques autres approches mieux que les approches mentionnées serait également utile.

Grâce.

  • question de ne pas horriblement clair. pouvez-vous s'il vous plaît reformuler l'objectif?
  • Voulez-vous dire: j'ai un dictionnaire de un million de mots, je tiens à identifier tous les jeux de mots dans le dictionnaire, qui sont des anagrammes les uns des autres? E. g. Si le dictionnaire de contenus: [tap, pat, pot, top] vous souhaitez voir [[tap, pat], [pot, haut de la page]]?
  • ouais @Alex .Je veux juste combien d'anagrammes sont là ?
  • j'espère que mon objectif est clair pour vous.
  • Le tri est la solution ici, et sa complexité est linéaire si l'on suppose une constante de limite à la longueur des mots. Vous avez juste à trier la bonne chose; les personnages, pas les mots.
  • Quelle langue ciblez-vous?
  • Je suis évidemment heureux d'avoir ma réponse non acceptée pour un plus agréable solution, mais auriez-vous l'esprit jusqu'à droit de vote si vous le mais il s'est avéré utile? Merci!
  • Ouais, bien sûr bro.Merci !

InformationsquelleAutor vijay | 2012-06-19