Algoritmos que todo programador debe saber



Los algoritmos están en todo lo que hacemos. Pero para aquellos que no se inclinan por las matemáticas y la programación, el término «algoritmo» no es tan claro.

(De hecho, el chiste dice que los desarrolladores usan la palabra ‘algoritmo’ cuando no quieren explicar lo que han hecho).

Entonces, es posible que hayas escuchado el término antes, incluso que lo hayas usado. Pero, ¿qué es exactamente un algoritmo?

¿Qué es un algoritmo?

En esencia, los algoritmos son simplemente una serie de instrucciones que se siguen, paso a paso, para hacer algo útil o resolver un problema. Podría considerar una receta de pastel como un algoritmo para hacer un pastel, por ejemplo.

Ahora bien, si tu meta es adentrarte en el mundo de la programación existen ciertos algoritmos básicos que debes dominar o por lo menos conocer. Ya sea en la escuela o en el medio laboral, estos algoritmos son la base.

Sin más que añadir, aquí están los algoritmos que todo programador debe conocer.

Algoritmos que todo programador debe saber

Te puede interesar también:

Búsqueda lineal

En informática, una búsqueda lineal o búsqueda secuencial es un método para encontrar un elemento dentro de una lista. Comprueba secuencialmente cada elemento de la lista hasta que se encuentra una coincidencia o se ha buscado en toda la lista.

Búsqueda lineal

En la búsqueda lineal, buscamos el elemento de destino en la lista en orden secuencial uno por uno desde el primer elemento de la lista hasta el último.

Mejor caso: el valor objetivo está en la primera posición de la lista

Peor caso: el valor objetivo es la última posición de la lista

Cuándo usar:

  • Cuando la lista está desordenada
  • Cuando la lista es pequeña

Búsqueda binaria

En informática, la búsqueda binaria, también conocida como búsqueda de medio intervalo, búsqueda logarítmica o corte binario, es un algoritmo de búsqueda que encuentra la posición de un valor objetivo dentro de una matriz ordenada. La búsqueda binaria compara el valor objetivo con el elemento central de la matriz. Si no son iguales, se elimina la mitad en la que el objetivo no puede estar y la búsqueda continúa en la mitad restante, tomando nuevamente el elemento medio para compararlo con el valor objetivo.

Búsqueda binaria

En la búsqueda binaria, la lista debe estar ordenada. Buscamos el valor objetivo eligiendo el valor del medio de la lista y comparándolo. Si no coincide, entonces si el valor objetivo es menor que el elemento medio, la mitad inicial se eliminará; de lo contrario, se eliminará la mitad final. El proceso continuará hasta que encontremos el valor objetivo.

Mejor caso: el valor objetivo está en la posición media de la lista

En el peor de los casos: el valor objetivo se encuentra en la primera o última posición de la lista

Cuándo usar:

  • Cuando la lista está ordenada
  • Cuando la lista es grande

Primera búsqueda en profundidad (DFS)

La búsqueda en profundidad (DFS) es un algoritmo para atravesar o buscar estructuras de datos de árboles o gráficos. El algoritmo comienza en el nodo raíz (seleccionando algún nodo arbitrario como nodo raíz en el caso de un gráfico) y explora lo más lejos posible a lo largo de cada rama antes de retroceder.

Primera búsqueda en profundidad (DFS)

En DFS, elegimos la raíz del gráfico, árbol o estructura de datos y exploramos cada rama en orden. Cuando se selecciona una rama, explora todas sus subramas antes de cambiar a una rama diferente.

Mejor caso: el valor objetivo está en la posición raíz del árbol

En el peor de los casos: el valor objetivo está en la punta de una rama secundaria de la última rama ordenada

Cuándo usar:

  • Cuando el árbol es muy ancho
  • Cuando el valor objetivo se encuentra en la profundidad del árbol

Búsqueda primero en amplitud (BFS)

La búsqueda en amplitud (BFS) es un algoritmo para atravesar o buscar estructuras de datos de árboles o gráficos. Comienza en la raíz del árbol (o algún nodo arbitrario de un gráfico, a veces denominado «clave de búsqueda») y explora todos los nodos vecinos en la profundidad actual antes de pasar a los nodos en el siguiente nivel de profundidad.

Búsqueda primero en amplitud (BFS)

En BSF, al igual que en DFS, elegimos el nodo raíz del gráfico, árbol o estructura de datos. Después del nodo, nos movemos a todos sus nodos adyacentes y luego al siguiente nivel que es todos los nodos adyacentes a la rama.

Mejor caso: el valor objetivo está en la posición raíz del árbol

En el peor de los casos: el valor objetivo está en la punta de la rama más larga del árbol

Cuándo usar:

  • Cuando el valor objetivo no está lejos de la raíz del árbol
  • Cuando el árbol es muy profundo y el valor objetivo es raro.

¿Falta alguno? ¿Qué algoritmo agregarías a la lista?


Deja tus comentarios y sugerencias


Sobre Facialix

Facialix es un sitio web que tiene como objetivo apoyar en el aprendizaje y educación de jóvenes y grandes. Buscando y categorizando recursos educativos gratuitos de internet, de esta manera Facialix ayuda en el constante aprendizaje de todos.


También te podría gustar...

1 respuesta

  1. Manuel Correa dice:

    Excelente Oportunidad

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.