¿Qué algoritmo se usa para obtener la cadena correcta de una muestra de cadenas?

¡Corrígeme si me equivoco, pero parece que necesitas un algoritmo de coincidencia de cadenas (patrones)! Esta clase de algoritmos busca un patrón (un término de búsqueda) en un cuerpo de texto más grande. En su caso, el cuerpo del texto es cada palabra individual en su lista, o una sola cadena compuesta de palabras concatenadas de su lista. En cualquier caso, puede transformar las siguientes soluciones para que coincida con su problema.

Hay muchos algoritmos aplicables que se aplican a este problema, pero si está buscando comprensión, puede construir sobre dos de mis algoritmos de coincidencia de cadenas favoritos: el algoritmo de Horspool o el algoritmo Rabin-Karp .

Ambos resuelven este problema y son relativamente fáciles de entender después de algún estudio. Hay muchos recursos en línea maravillosos para ayudarlo con estos algoritmos, por lo que no intentaré explicarlos aquí.

¡La mejor de las suertes!

Los algoritmos no son algo que obtenemos del “Pequeño libro de algoritmos que usan todos los programadores”, un algoritmo es “un proceso o conjunto de reglas a seguir en las operaciones de resolución de problemas”. Desarrollas el algoritmo que necesitas, no lo “encuentras”.

Busque “WIDODO” (sin espacios después), pero para fines generales, use lo que funcione para la cadena que está buscando en esa situación particular . La programación es analizar el problema y encontrar una solución, no codificar una solución que alguien más le dio.

More Interesting

Procesadores de señal digital (DSP): cuando alguien escribe un archivo en una tarjeta SD usando un bus spi, ¿cómo sabe dónde debería estar el comienzo de un nuevo archivo?

¿Cómo termina una imagen en la página principal de reddit o imgur?

¿Cuáles son las ventajas y desventajas de los enfoques de espera ocupada y sueño y vigilia para la exclusión mutua con respecto al kernel de Linux?

¿Cómo funciona el algoritmo de comprobación de cuentas falsas de Facebook?

¿Hay alguna prueba de que los algoritmos de clasificación no pueden tener una complejidad mejor que O (Nlog (N))?

¿Mejorará la velocidad de búsqueda y clasificación de algoritmos o hemos alcanzado el límite?

¿Cuáles son algunos algoritmos / métodos de aprendizaje automático altamente efectivos?

Como principiante, ¿debo invertir mi tiempo en escribir mi propio algoritmo de aprendizaje automático desde cero?

¿Sigue siendo necesario convertir una solución dp memorable en una iterativa?

Cómo encontrar un trabajo de programación de algoritmos y no solo escribir aplicaciones CRUD

¿Cuál es la elección ideal de algoritmos, bibliotecas en PNL y aprendizaje automático para construir un bot de chat?

Cómo hacer un bot de chat usando Python implementando algoritmos de aprendizaje automático (como SVM, Naive Bayes, Random Forest, etc.)

¿Existe algún algoritmo de clasificación con O (n) en el tiempo y O (n ^ 2) en la complejidad del espacio?

¿Cómo funciona el algoritmo de vista en Quora?

¿Cómo pueden los estudiantes de electricidad y electrónica llegar a ser buenos en algoritmos y estructuras de datos?