“Conocimiento Programación>Lenguajes De Programación

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

2015/10/22
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 puedo obtener El tiempo en mi página web
¿Qué tamaño tiene un Byte
Cómo utilizar un DBLink para Oracle Lock Servicios
Cómo crear controladores de eventos Jquery
Cómo convertir una fecha en TSQL
Formulario de validación de HTML Tutorial
Cómo agregar Cámara lenta para WMP
¿Cuál es el propósito y la funcionalidad de un lenguaje de ensamblaje?
Conocimiento de la computadora © http://www.ordenador.online