Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como escrever um algoritmo de ordem n Lgn para verificar se duas palavras dadas são Anagramas
Se duas palavras ou frases são anagramas, eles compartilham o mesmo conjunto de letras em uma ordem diferente. Por exemplo, "ouvir" e "silencioso" são anagramas. Você pode criar um algoritmo com log ordem n ( n) eficiência que verifica se uma lista de palavras dadas são anagramas. Classificar em seguida, com um O (n log (n)) Método de classificação e utilizar uma tabela hash para comparar os resultados . Instruções
1

Criar uma tabela hash que tem uma chave e uma lista de valores associados a cada tecla. Começando com a primeira palavra ; percorrer a lista de palavras
2

Classificar as letras da palavra usando merge sort , montão espécie , tipo árvore binária ou uma espécie similar que funciona como log O (n . ( n ) ) . Lembre-se que anagramas são idênticos quando ordenados.
3

Procure a palavra classificada na tabela de hash. Adicione a palavra indiferenciados aos valores ligados à chave de hash se a chave já existe. Adicione a palavra classificada como uma nova chave de hash ea palavra indiferenciados como um valor ligado à chave de hash se a chave de hash não existe. Por exemplo, dado " rato", "tar " e " arte" adicionar "arte" como a chave de hash e " rato " como um valor , adicione "tar " como um valor " ligado a "arte " e acrescentar " arte" como um valor ligado a " arte".
4

Continue com cada palavra na lista. Quando você chegar ao final da lista , imprima cada chave de hash e seus valores associados para ver os anagramas encontrados .
5

Contagem as comparações feitas para validar que o tipo acontece em " O (n log (n)) " e que a comparação acontece em o (1) .

Anterior :

Próximo : No
  Os artigos relacionados
·Como fazer Pelúcia Animais em SolidWorks 
·Que tipos de do lado do servidor As línguas são para …
·Quais são as duas funções de DMAP 
·Tipos de arquivo SQLite 
·Tutorial WPF 
·A Função Índice AWK 
·Como instalar um arquivo IPA em um iPhone Simulator 
·Como fazer XSL Ignore a referência DTD em XML 
·Pode COBOL exibir um valor Hex 
·ASP vs PHP Coding velocidade 
  Artigos em destaque
·Como usar Banners e decalques em GTK Radiant 
·Como criar auto_ptr Sintaxe 
·Qual é a importância de aprender linguagem C 
·Adicionando um DLL a um projeto CPP 
·Características API 
·Como Fazer um EXE no bloco de notas 
·Como manipular Cordas em MFC 
·Como fazer um Bounce objeto em C # 
·Como usar o controle de página no iPhone SDK 
·Como fazer um C + + void display 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados