Estás a punto de culminar tu camino en Road to Code, donde diste tu primer paso iniciando con lo más básico hasta recorrer algoritmos y estructuras de datos que pueden parecer complejos al inicio de abordarlos.
Aviso importante sobre Road to Code
Así como tú, diversos estudiantes se enfrentaron al reto leer y comprender el lenguaje C (más allá de implementarlo) pues es el que se utiliza en el Curso Básico de Algoritmos. Por lo tanto la fecha límite para culminar con el reto de Road to Code será día 16 de noviembre para que así puedas aprovechar una semana más de estudio.
Además de esto puedes tomar el Curso de Introducción a C y Curso de Funciones en C para que en 20 clases breves entiendas mejor el lenguaje junto a sus beneficios de aprenderlo. Recuerda consultar las dudas que tengas con tus compañeros en los grupos de estudio para ayudarnos en comunidad.
La importancia de los algoritmos
Cuando inicias en programación comienzas a escribir código que resuelve un problema específico, conforme conoces más detalles del problema agregar nuevo código que soluciona algo más y si el problema cambia seguramente adaptarás o crearás nuevo código. Para dines didácticos está bien para aprender, pero a largo plazo se convierte en glue code (código pegamento).

Al glue code se le conoce como aquel código funcional que se añade o adapta al código a solo algunas partes del código existente sin añadir valor a los requerimientos actuales, también lo vemos cuando se usar para “unir” distintas convirtiéndose en una mala práctica.
Este es solo uno de muchos problemas que evitamos al implementar algoritmos y entenderlos. Comprender cómo funciona un algoritmo logramos saber: para qué sirve, cuándo implementarlos, los problemas que resuelve y ser conscientes de la cantidad de código que ahorramos.
Diversos lenguajes de programación modernos como Python y JavaScript tienen distintos algoritmos ya integrados en sus métodos, librerías y frameworks. Sin embargo es buena idea saber cómo operan estos algoritmos “por debajo”, ya que puede que utilices uno de estos métodos y cuando obtengas un resultado inesperado en lugar de preguntarte la razón puedas hacer el ajuste necesario.
Algoritmos de uso común
Entre los más comunes y su implementación, encontramos:
- Bubble sort: compara un elemento con el resto de la lista y lo ubica en su lugar correspondiente si pertenece a este último. Idóneo para ordenar listas de datos pequeñas.
- Merge sort: divide una lista en 2 partes, estas a su vez en otras 2 y así reiterativamente hasta que cada una sea de 1 o 2 elementos para ordenarlas posteriormente. Práctico para cuando ordenamos datos externos.
- Quick sort: toma un elemento como “pivote” para colocar a todos los de menor valor antes de este, el resto adelante, divide la lista en 2 partes y repite el proceso. Es utilizado para análisis numérico y búsqueda de información.
- Búsqueda binaria: identifica el elemento que hay en el medio de una lista, si es este entonces cumple su objetivo. En caso contrario, toma la mitad donde debería estar y repite el proceso. Útil cuando buscas un elemento en una lista ordenada.
- Recorrido de árboles: si tienes un árbol y necesitas recorrer cada uno de sus nodos, este algoritmo cumple con el cometido iniciando desde la “raíz” para pasar por cada uno de sus “hijos” para que cada “hijo” funcione como “raíz” reiterativamente.
¿Necesito saberlos todos? ¿Por qué hay tantos algoritmos?
Memorizar el código y detalle de cada algoritmo es bastante complejo, pero lo que sí puedes hacer es aprender sus características y funcionamiento. Saber donde puedes consultar esta información te será útil, así que tenla a la mano.
La razón de por qué existen diversos algoritmos es porque cada uno tiene una implementación específica aunque pueda utilizarse en distintos contextos, así que hay unos más especializados o que resultan más eficientes.
Pero mejor mira esta animación donde vemos como se comportan distintos algoritmos de ordenamiento en casos variados, podrás apreciar que hay unos más rápidos.

Resuelve tus dudas sobre algoritmos
En esta semana nos acompañará Juan David Castro, Course Director en Platzi, quien será tu mentor el día hoy 02 de noviembre en nuestra Live Session. Solo debes ingresar a platzi.com/live a las 4:00 pm (MEX)/5:00pm (COL).
¡Nos vemos allá!

Curso Básico de Algoritmos y Pensamiento Lógico