Últimos artículos

blog image

¿Qué es un algoritmo?

February 16, 20244 min read
09a59a

¿Qué es un algoritmo?

Un algoritmo es un conjunto de ciertas reglas que nos permite llevar a cabo una tarea o encontrar la solución a un determinado problema. Es decir, el algoritmo es un procedimiento en el cual se realizan una serie de pasos ordenados para lograr un objetivo.  

Una de las características de los algoritmos es que nos permiten definir una serie de pasos que se deben realizar para lograr un resultado deseado. Cabe destacar aquí un ejemplo del uso de algoritmos: el software informático, que consiste en instrucciones precisas para realizar una acción, pero escritas en un lenguaje de programación.

Pero el uso de algoritmos no se limita sólo a computadoras o sistemas automatizados, ya que los algoritmos también están muy extendidos en la naturaleza y en nuestras vidas. Básicamente, cualquier tarea que deba realizarse utilizando instrucciones y reglas definidas para tal fin puede considerarse como un algoritmo. Un ejemplo de esto es el lavado de manos y tareas similares que vemos en nuestra vida cotidiana.

Tipos de algoritmos

Algoritmos de búsqueda

Un algoritmo de búsqueda es un conjunto de instrucciones diseñadas para encontrar un elemento con propiedades específicas en una estructura de datos; por ejemplo, encontrar un registro que coincida con una persona en particular en una base de datos o el mejor movimiento en un juego de ajedrez.

Existen varios tipos de búsqueda, entre los que sobresalen:

Búsqueda secuencial: Lo hace comparando el objeto encontrado con todos los objetos del conjunto hasta que se encuentra, o hasta que los comparamos todos.

Búsqueda binaria: En un conjunto de elementos ordenados, compara con el elemento ubicado en el medio, y si no son iguales continúa la búsqueda en la mitad donde puede encontrarse. Y así sucesivamente hasta encontrar el elemento

Algoritmos de ordenamiento

Un algoritmo de ordenamiento es un algoritmo que organiza los elementos de una lista o vector en un orden determinado mediante relaciones de clasificación, es decir, el resultado de salida debe ser una permutación o reordenamiento de la entrada que satisfaga la relación de orden dada.

Algunos de los algoritmos de ordenamiento son:

Ordenamiento de burbuja: Compara cada elemento de la lista a ordenar con el siguiente y cambia su posición si no están en el orden correcto. La lista completa se revisa varias veces hasta que no se necesitan más cambios.

• Ordenamiento por selección: Vamos colocando el elemento más pequeño disponible en cada una de las posiciones de la lista de forma consecutiva.

Ordenamiento rápido: Seleccionamos un elemento del conjunto (pivote) y movemos el resto a cada lado del mismo según sean más grandes o más pequeños que el elemento que tomamos como referencia. Repetimos el proceso para cada subgrupo.

Algoritmos voraces

Consisten en una estrategia de búsqueda que sigue una heurística que selecciona la mejor opción en cada paso local con el objetivo de alcanzar la solución óptima general. Esto significa que en cada paso del proceso seleccionan el mejor elemento (el elemento más prometedor) y verifican si puede ser parte de una solución global viable. Suelen utilizarse para resolver problemas de optimización.

Algunos casos en los que los algoritmos voraces alcanzan soluciones óptimas son:

Problema de la mochila fraccional (KP): Tenemos una colección de objetos (cada uno con un valor y peso asociado) y necesitamos determinar cuál cabe en una mochila para llevar el máximo valor sin aumentar el peso que puede soportar.

Algoritmo de Dijkstra: Se utiliza para determinar la ruta más corta desde el vértice de origen hasta los otros vértices del gráfico que se encuentran en cada borde.

Codificación Huffman: Un método de compresión de datos sin pérdidas que analiza la frecuencia de aparición de caracteres en un mensaje y les asigna un código de longitud variable. Cuanto mayor sea la frecuencia, más corto será el código.

Características de un algoritmo

Todo algoritmo debe cumplir ciertas características básicas:

Son finitos. Los algoritmos deben contener un determinado número de pasos.

Tienen un principio y un fin. Cada algoritmo en estado inicial comienza con un conjunto específico de datos y culmina con una solución o resultado.

Deben ser precisos. Cada uno de los pasos deben ser ejecutados con exactitud. 

Deben estar perfectamente definidos. El mismo algoritmo siempre debe obtener el mismo resultado independientemente de la cantidad de veces que se siga.

Partes de un algoritmo

Un algoritmo cuenta con 3 partes, estas son:

Input (o entrada). Son los datos sobre los que aplicaremos las instrucciones. Básicamente es la información que le proporcionamos al algoritmo.

Proceso. Es el conjunto de pasos necesarios para procesar los datos que le proporcionamos al algoritmo por medio del input.

Output (o salida). La última parte es el output o salida, en donde obtenemos el resultado de la operación a través de la transformación de los datos que fueron proporcionados en el output y desarrollados en el proceso.

Conclusión 

Como ya observamos, los algoritmos no son más que conjuntos de instrucciones ordenadas para conseguir un fin. Los algoritmos no solo están presentes en la programación, sino también en nuestra vida cotidiana y existen diversos tipos de ellos que sirven para encontrarle una solución a todo tipo de situaciones.

¿Quieres saber más sobre algoritmos y todo lo relacionado con la programación? Visita nuestro curso de fundamentos de la programación con JavaScript para aprender más.

AlgoritmosProgramaciónTipos de algoritmosCaracterísticas de un algoritmoPartes de un algoritmo

Benjamín Alfonzo

Back to Blog

© All Rights Reserved.