Algoritmo


 * = [[image:Wiki_DavyS.jpg]] ||~ //==//La "//**ITpedia"**// del Davy College//==// ||
 * > //"Un medio para compartir nuestra información y esfuerzo"// ||

Type in the content of your new page here**. **__ALGORITM**O__

En matemáticas, ciencias de la computación, y disciplinas relacionadas, un algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia.

La importancia de un algoritmo radica en mostrar la manera de llevar a cabo procesos y resolver mecánicamente problemas matemáticos o de otro tipo. Al igual que las funciones matemáticas, los algoritmos reciben una entrada y la transforman en una salida, comportándose como una caja negra. Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada, finita y definida de instrucciones.

Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programación, en un circuito eléctrico, en un aparato mecánico, usando papel y lápiz, o en algún otro modelo de computación. La mayoría de los algoritmos involucran métodos de organizar los datos que intervienen en el cómputo. Estos objetos creados son llamados, de esta manera la estructura de los datos, y también son objetos centrales del estudio en la informática. De esta forma, los algoritmos y estructuras de los datos van siempre de la mano. Los algoritmos simples pueden dar lugar a una estructura de datos complicada y, recíprocamente, los algoritmos complicados pueden usar estructuras de los datos simples. Cuando usamos una computadora para ayudarnos a resolver un problema, nos enfrentamos típicamente con varios posibles esquemas. Para los problemas pequeños, lo que apenas importa es que lo usemos, con tal de que se tenga uno que resuelva el problema correctamente. Para los problemas grandes (o aplicaciones dónde nosotros necesitamos resolver un gran número de problemas pequeños), sin embargo, nos motivamos en inventar métodos que usan tiempo eficazmente de forma rápida como sea posible. Cuando un programa de computadora es grande o complejo, este será desarrollado con mucho esfuerzo, ya que se debe comprender y definir el problema a ser resuelto, manejando su complejidad, y descomponiéndolo en partes más pequeñas que puedan resolverse más fácilmente. A menudo, muchos de los algoritmos que se necesitan, después de la descomposición son triviales al instrumento.



ebook Wikipedia.org Alvaro Sanchez Pereda 10/03/09