Skip to main content

¿Qué es un algoritmo?

Hallar el resto de dividir 38 elevado a 605 por 7 (Abril 2025)

Hallar el resto de dividir 38 elevado a 605 por 7 (Abril 2025)
Anonim

Un algoritmo es un conjunto de instrucciones. La definición es realmente tan simple. Un algoritmo puede ser tan fácil como dar instrucciones como esta:

  1. Baja por la calle.
  2. Tomar la primera a la derecha.
  3. Encuentra la segunda casa a la izquierda.
  4. Tocar la puerta.
  5. Entregar el paquete.

Pero mientras que la definición de algoritmo es simple, el significado real y cómo afecta nuestras vidas puede ser bastante complejo.

Un ejemplo de un algoritmo

Un ejemplo común de un algoritmo que usamos en nuestra vida diaria es una receta. Este conjunto de instrucciones nos brinda todos los ingredientes que necesitaremos y las instrucciones sobre qué hacer con esos ingredientes. Suena fácil, ¿verdad?

Pero, ¿y si no sabes dónde se guarda la taza medidora? Necesitarías un algoritmo para encontrarlo. Puede que incluso necesite un algoritmo sobre cómo usar una taza medidora.

Entonces, mientras que un algoritmo es un conjunto de instrucciones, también debe tener en cuenta quién o qué va a interpretar esas instrucciones. Por ejemplo, si le da instrucciones a un amigo que detalla cómo ir de su casa a la tienda de comestibles más cercana, su amigo solo sabrá cómo llegar a esa tienda si sabe dónde se encuentra su casa. No son capaces (todavía) de encontrar esa tienda de comestibles en particular, por ejemplo, la casa de otro amigo.

Así es como un algoritmo puede ser simple y complejo. Y cuando hablamos en términos de algoritmos de computadora, entender lo que una computadora es capaz de hacer es una parte fundamental de la formulación de algoritmos.

Cómo evolucionaron los algoritmos de clasificación

Uno de los primeros algoritmos creados fue la rutina de clasificación de burbujas. La clasificación de burbujas es un método para ordenar números, letras o palabras haciendo un bucle a través de un conjunto de datos, comparando cada conjunto de valores lado a lado e intercambiándolos cuando sea necesario.

Este bucle se repite hasta que el algoritmo pueda moverse por toda la lista sin necesidad de cambiar nada, lo que significa que los valores están ordenados correctamente. Este tipo de algoritmo a menudo se denomina algoritmo recursivo porque se repite una y otra vez hasta que completa la tarea.

Ese tipo de algoritmo puede parecer tan simple como:

  1. Ir al primer valor.
  2. Verifique ese valor con el siguiente valor y cambie las posiciones si es necesario.
  3. Ir al siguiente valor y repetir la comparación.
  4. Si estamos al final de la lista, vuelva a la parte superior si se cambió algún valor durante el ciclo.

Pero el tipo de burbuja no resultó ser el más eficiente Modo de ordenar los valores. A medida que pasaba el tiempo y las computadoras se volvían más capaces de hacer tareas complejas rápidamente, aparecieron nuevos algoritmos de clasificación.

Uno de estos algoritmos explora la primera lista y crea una segunda lista de valores ordenados. Este método solo hace una sola pasada a través de la lista original, y con cada valor, recorrerá la segunda lista hasta que encuentre el lugar correcto para colocar el valor. Por lo general, es más eficiente que usar el método de clasificación de burbujas.

Aquí es donde los algoritmos pueden volverse realmente locos. O realmente interesante, dependiendo de cómo lo mires.

Si bien el método de clasificación de burbujas se considera uno de los métodos más ineficientes de clasificación de valores de muchas maneras, si la lista original se presenta correctamente, la clasificación de burbujas puede ser una de las más eficiente. Esto se debe a que, en ese caso, el algoritmo de clasificación de burbujas pasará por la lista una sola vez y determinará que está ordenado correctamente.

Desafortunadamente, no siempre sabemos si nuestra lista está preclasificada, así que tenemos que elegir un algoritmo que sea el más eficiente de usar en promedio en una gran cantidad de listas.

Lo que aprendemos del algoritmo de ordenación de burbujas

  • Los algoritmos evolucionan con el tiempo a medida que encontramos formas más eficientes de hacer las cosas y las computadoras se vuelven más capaces de realizar tareas complejas.
  • Los algoritmos a veces se eligen porque son "más" eficientes "la mayoría" de la época.
  • El hecho de que un algoritmo sea más eficiente la mayor parte del tiempo no significa que siempre sea el mejor en cada caso individual.

Algoritmos de Facebook y más en la vida cotidiana

Los algoritmos están trabajando para ayudar a los humanos todos los días. Cuando buscas en la web, un algoritmo está trabajando para encontrar los mejores resultados de búsqueda. Solicite instrucciones a su teléfono inteligente y un algoritmo decidirá la mejor ruta que puede tomar. Y cuando navegas en Facebook, un algoritmo decide cuáles de las publicaciones de Facebook de nuestros amigos son las más importantes para nosotros. (¡Esperemos que nuestros amigos no descubran cuál de ellos cree que más nos gusta Facebook!)

Pero pensar algorítmicamente puede ayudarnos mucho más allá de nuestras vidas informáticas. Incluso puede ayudarnos a construir un mejor sándwich.

Digamos que empiezo con dos rebanadas de pan, esparciendo mostaza en una rebanada y mayonesa en otra rebanada. Pongo una rebanada de queso en el pan con la mayonesa, un poco de jamón encima, un poco de lechuga, dos rebanadas de tomate y luego lo cubro con esa rebanada con la mostaza. Buen sandwich, verdad?

Definitivamente si lo como de inmediato. Pero si lo dejo en la mesa por un tiempo, esa rebanada de pan superior podría empaparse de tomar un poco de ese tomate. Es un problema que no anticipé, y podría hacer sándwiches durante años antes de darme cuenta, pero una vez que lo haga, puedo empezar a pensar en formas de cambiar mi algoritmo para construir un sándwich mejor.

Por ejemplo, podría deshacerme del tomate. Pero no quiero perder ese sabor a tomate. Así que en lugar de eso, puedo poner el tomate en el sándwich después del pan y la lechuga. Esto permite que la lechuga forme una barrera protectora entre el tomate y el pan.

Así es como evoluciona un algoritmo. Y un algoritmo no tiene que ser ejecutado por una computadora para ser un algoritmo.Un algoritmo es un proceso, y los procesos están a nuestro alrededor.