Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=ab27980a-c361-4d1d-b1a9-a6a0b77245b6

Ser mejor programador aprendiendo algoritmos (y de paso Swift)

Icono de advertencia ATENCIÓN: este contenido tiene más de 2 años de antigüedad y, debido a su temática, podría contener información desactualizada o inexacta en la actualidad.

Algoritmos

Los algoritmos. Esos conceptos abstractos que se estudian en la teoría de computación y que luego raramente los usas en tu trabajo diario programando. ¿Cuándo fue la última vez que creaste una lista enlazada o diseñaste un algoritmo para búsqueda eficiente de datos? Probablemente nunca. De hecho, cualquier lenguaje o plataforma que se precie te ofrecerá "de serie" el 90% de los algoritmos que vas a necesitar usar alguna vez...

Sin embargo, cualquier problema que debas resolver usando un programa se reduce al final a crear un algoritmo, una serie de pasos lógicos y ordenados que te permiten resolver el problema de la manera más eficiente posible. Conocer la teoría y los conceptos que hay debajo de los algoritmos comunes (los que ya te da resueltos el propio lenguaje), aunque puedan parecer abstractos, en realidad marcan la diferencia entre un buen programador y un gran programador. ¿Por qué? Por muchos motivos entre los que cabe destacar:

  • Los algoritmos nos enseñan a pensar de manera abstracta, lógica y ordenada.
  • Con ellos aprendemos técnicas de análisis que nos ayudan a comparar posibles soluciones a un problema y saber elegir la más apropiada.
  • Entenderemos mejor cómo funcionan por debajo muchas funcionalidades que usamos a diario, pudiendo sacarles más partido y optimizar su uso.
  • Aprenderemos maneras poco intuitivas e interesantes de resolver muchos problemas. Este conocimiento puede que no nos resulte útil en el trabajo diario, pero el día en que surja la oportunidad de usarlo, será como una bendición divina.

En definitiva los algoritmos nos ayudan a programar de manera más eficiente y a escribir mejores programas.

Un algoritmo es un concepto y por lo tanto no depende del lenguaje en el que esté implementado. Así que para aprenderlos no es necesario atarse a un lenguaje de programación, pero ayuda tener implementaciones concretas que te los enseñen en la práctica.

Un recurso estupendo que hemos descubierto hace poco es el Swift Algorithm Club. Se trata de un repositorio de GitHub en el que el programador holandés Matthijs Hollemans ha explicado y resuelto con el lenguaje Swift decenas de algoritmos típicos en computación.

Los algoritmos están clasificados por categorías, como por ejemplo, búsqueda, ordenación, compresión de datos, estructuras de datos... Incluso sugiere algunos especialmente importantes para comenzar. Cada uno de estos algoritmos cuenta con una página explicativa sobre cómo hacerlos y una implementación completa en lenguaje Swift junto con los tests pertinentes. Por ejemplo, este es el correspondiente a un Pila o a una búsqueda binaria.

Todo el código es compatible con XCode 7.2 y Swift 2.1, y podemos bajarnos el repositorio completo (o parcial) para practicar sin conexión a Internet.

Un recurso muy interesante que nos dará muchas horas de entretenimiento.

Fecha de publicación:
campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.