Programa
¿Qué es algoritmo?
Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar unaactividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.
¿Qué es un diagrama de flujo?
El diagrama de flujo o diagrama de actividades esla representación gráfica delalgoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.
¿Tipo de algoritmos?
1. Fuerzabruta. La idea es ir deslizando el patrón sobre el texto de izquierda a derecha, comparándolo con las subcadenas del mismo tamaño que empiezan en cada carácter del texto.
2. Leertodos los caracteres del texto uno a uno modificando en cada paso algunas variables que permitan identificar posibles ocurrencias. A este tipo pertenecen los algoritmosde Knuth-Morris-Pratt,4 Shift-Or5 o búsqueda simple con autómata determinista.
3. Buscar el patrón en una ventana que se desliza a lo largo del texto. Para cada posición de esta ventana buscamos dederecha a izquierda un sufijo de la ventana que corresponda a un sufijo del patrón. A este tipo pertenecen los algoritmos de Boyer-Moore,6Boyer-Moore-Haspool7 y Sunday QuickSearch.8 Este tipo de algoritmos no suelen funcionar bien cuando el tamaño del patrón el pequeño y hay una probabilidad alta de encontrarlo en el texto.
4. La búsqueda se realiza de derecha aizquierda dentro de una ventana, pero en este esquema se busca el sufijo más largo en la ventana que es subcadena del patrón. Ejemplos de este tipo de algoritmosson BDM,9 BNDM10 y BOM.11 Este tipo de algoritmos para patrones pequeños no suelen funcionar bien.
5. Esquemas basados en funciones hash. Ejemplo de este tipo de algoritmos es el de Karp-Rabin.12
Regístrate para leer el documento completo.