Los algoritmos describen los pasos a seguir para realizar una tarea. Son instrucciones finitas que fueron diseñadas para ejecutar una acción con el mínimo número de errores posibles.

Un algoritmo puede ser desde una simple receta de cocina, un manual de usuario para construir una mesa, hasta parte de un complejo software que crean los programadores para solucionar problemas en el ámbito digital.

Existen muchos algoritmos que sirven de base para crear programas informáticos debido a que solucionan problemas específicos.

Tipos de Algoritmos

  • Algoritmos de ordenamiento: Cuando necesitamos ordenar una lista de argumentos según el alfabeto, de menor a mayor, orden numérico, etc.
  • Algoritmos de búsqueda: Teniendo una lista de elementos y un elemento a buscar, se ejecutan pasos para dar rápido con la solución. Los algoritmos de búsquedas pueden ser no informados o informados, de búsqueda secuencial y de búsqueda dicotómica (binaria)
  • Algoritmos recursivos: Son los algoritmos que en algún momento en específico se invocan a sí mismos.
  • Algoritmos determinísticos: existen los deterministas y no deterministas. Se trata de algoritmos predictivos, que dados los datos de entrada siempre se tendrá la misma salida.

Otros tipos:

  • Algoritmos de encaminamiento
  • Algoritmos probabilísticos
  • Algoritmo cotidiano
  • Algoritmo heurístico
  • Algoritmo de escalada

Ejemplos de algoritmos de ordenamiento

  • Ordenamiento de burbuja
  • Ordenamiento de burbuja bidireccional
  • Ordenamiento por cuentas
  • Ordenamiento por casilleros
  • Ordenamiento por inserción
  • Ordenamiento por mezcla
  • Ordenamiento con árbol binario
  • Ordenamiento Radix
  • Ordenamiento rápido (Inestable)
  • Ordenamiento por montículos (Inestable)
  • Ordenamiento por selección (Inestable)
  • Ordenamiento Shell (Inestable)

Ejemplos de algoritmos de búsqueda

  • Algoritmo voraz o Greedy (El primero que encuentre es el mejor)
  • Algoritmo de búsqueda A* (El primero que encuentre es el mejor)
  • Algoritmo Escalada Simple -Hill Climbing- (con iteratividad)
  • Escalada por Máxima Pendiente (con iteratividad)
  • Minimax (con adversario)
  • Poda alfa-beta (con adversario)

Ejemplos de algoritmos recursivos

  • Factorial
  • Fibonacci
  • Máximo común divisor
  • Torres de Hanói
  • Búsqueda binaria

Ejemplos de algoritmos determinísticos

  • Ordenación Quicksort
  • Fuerza bruta