“Conocimientos Programación>Lenguajes De Programación

Cómo escribir un algoritmo de la Orden N Lgn para comprobar si dos palabras dadas son anagramas

2011/6/18
Si dos palabras o frases son anagramas , comparten exactamente el mismo conjunto de letras en un orden diferente. Por ejemplo , "escuchar" y " silencio " son anagramas . Puede crear un algoritmo de orden n log eficiencia ( n) que comprueba si una lista de palabras dadas son anagramas . Ordena entonces con ( n log ( n)) un método para ordenar O y usar una tabla hash para comparar los resultados . Instrucciones
1

Crear una tabla hash que tiene una clave y una lista de valores asociados a cada tecla. A partir de la primera palabra, recorrer la lista de palabras
2

Ordenar las letras de la palabra que usan una especie de mezcla , pila de clasificación , binario árbol de especie o de una especie similar que se ejecuta como O ( n log . ( n ) ) . Recuerde que los anagramas son idénticos cuando ordenados .
3

Busque la palabra ordenada en la tabla hash. Añadir la palabra sin clasificar a los valores vinculados a la tecla de almohadilla si ya existe la clave . Añadir la palabra ordenada como una nueva tecla de almohadilla y la palabra no clasificados como un valor que se asigna a la tecla de almohadilla , si no existe la clave hash. Por ejemplo, dada " la rata ", "tar " y " arte", añadir "arte" como clave hash y "rata" como un valor , añadir "tar " como un valor ", adjunto en "arte" y añadir "arte " como un valor que se asigna a " arte".
4

Continuar con cada palabra de la lista. Cuando llegue al final de la lista , imprima cada tecla de almohadilla y sus valores asociados para ver los anagramas encontrados .
5

Contar las comparaciones realizadas para validar que el tipo que ocurre en " O ( n log ( n)) "y que la comparación que sucede en O ( 1 )

.

Lenguajes De Programación
Cómo integrar de Reproducción automática en una página de aplicación Plugins Con X- Shockwave -Flash
Cómo personalizar gVim para HTML Codificación
Cómo descompilar Juegos flash
¿Qué significa para analizar datos
Cómo utilizar el comando SNMP para obtener una etiqueta de OID
Cómo obtener el número de columnas de una tabla en Access 2007
¿Cuáles son las ventajas de una sentencia condicional
Cómo convertir un JDW a un Eclipse
Conocimientos Informáticos © http://www.ordenador.online