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.
Te puede interesar también:
- Kali Linux para principiantes: este curso gratuito te enseña las bases de la ciberseguridad en tiempo récord
- CISCO quiere acabar con la barrera del inglés: así es su nuevo curso gratuito con certificación oficial
- Microsoft regala formación en IA y machine learning: estos son los 4 cursos que puedes hacer gratis y desde casa
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.
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.
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.
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.
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.
Excelente Oportunidad