Conjunto de instrucciones definidas, ordenadas y finitas que aplicadas permiten realizar una acción con el fin de resolver un problema o realizar una acción.
Contenidos
Explicación
En este procedimiento se parte de un estado inicial y de una entrada de datos, y siguiendo estas instrucciones de este algoritmo se llega a un estado final y a una solución. Así un algoritmo describe estados y transiciones entre estos estados hasta llegar a un estado final.
Un algoritmo por su naturaleza es abstracto, es decir, independiente de su aplicación, y por tanto independiente del lenguaje de programación. Su expresión se realiza en lenguaje natural o en un lenguaje semiformal genérico, de forma que, en principio, puede ser implementado en cualquier lenguaje.
Las características de los algoritmos son:
- Tiempo secuencial
- No ambigüedad
- Finitud
Ejemplo de algoritmo
Algoritmo para contar las palabras de un texto (separadas por espacio)
- Leer carácter de entrada. Si no existe carácter, finalizar.
- Comprobar si el carácter de entrada es un signo de puntuación o un espacio.
- Si no lo es, volver a 1.
- Si lo es, n = n+1 y volver a 1
Lo podemos representar también gráficamente mediante un diagrama de flujo:
Conceptos relacionados
Enlaces de interés
Algoritmo - WIkipedia
http://es.wikipedia.org/wiki/Algoritmo
Técnicas de diseño de algoritmos
http://www.lcc.uma.es/~av/Libro/
Bibliografía básica
Cormen, T - Leiserson, Ch. - Rivest, R. - Stein, C. (2009), Introduction to algorithms, Cambridge, Massachusetts, The MIT Press.
Bibliografía complementaria
Brassard G. - P.Bratley (2010), Fundamentos de algoritmia, Prentice Hall, Pearson.
Ferri, F. - Albert, J. - Martín, G. (1998), Introducció a l'anàlisi i disseny d'algorismes, Universitat de València, ISBN 8437038545.