No sabía por donde empezar así que utilizaré el concepto del libro "Introduction to Algorithms" cuyos autores son Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest y Clifford Stein, más conocido como el "CLRS" por las iniciales de sus autores. En este libro nos dicen que "un algoritmo es un procedimiento computacional bien definido que toma algún valor, o conjunto de valores, como entrada y produce algún valor, o conjunto de valores, como salida. Un algoritmo es en consecuencia una secuencia de pasos computacionales que transforman la entrada en salida".
 |
Antes que los lenguajes de programacion
se crearan todo era programado en base
de 0's y 1's. |
Los algoritmos son muy importantes a la hora de programar ya que son los pasos exactos para resolver un problema. Esto quiere decir que es un procedimiento computacional bien definido que requiere de datos de entrada y produce un valor como salida.
Hoy en día existen muchos algoritmos ya diseñados pero esto no quiere decir que no podamos crear los nuestros mas optimizados, más rápidos, para resolver un problema comunes como los algoritmos de ordenamiento: Selección, Burbuja, Merge, entre otros. Cuando necesitemos utilizar algunos de estos algoritmos tenemos que saber cual implementar en nuestro software, ya que si elegimos el incorrecto nuestro software puede ser inestable e ineficiente.
"Si usted es rico, y no conoce mucho sobre algoritmos, tal vez no esté preparado para competir con alguien pobre que sepa mucho sobre algoritmos."
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.