Nueva Sección de Algoritmos

Bienvenidos a una nueva sección del blog. Va a ser diferente a los post anteriormente ya publicados. A partir de ahora el blog se dividirá en 2 secciones, la tradicional con todos los proyectos de Raspberry Pi, Pine64, tutoriales y blog varios como ya teníamos organizado y en la nueva sección encontraremos posts sobre programación eficiente, algoritmos de distintos tipos, recomendaciones para una buena programación y temas de este ambiente que vayan surgiendo con el tiempo.

La idea de crear esta nueva sección surgió hace un par de semanas, en las cuales tenia que trabajar en la resolución de un proyecto para resolver un problema de la forma mas eficiente posible. El objetivo era generar la diferentes formas de conseguir la solución y comparar su eficiencia.

Cuando empecé a planificar el problema y hacerme una idea principal del mismo, en seguida me di cuenta de la cantidad de operaciones que hacemos al programar y que escribimos sin darnos cuenta, sin saber como trabajan internamente. En multiples ocasiones hemos mandado ordenar un array de datos y con llamar a un función sort nos valía, pero… ¿realmente sabemos que esta haciendo esa función internamente?, en muchos casos podría destrozarnos la eficiencia de todo nuestro proyecto. O cuando hemos diseñado un algoritmo recursivo para nuestro problema y lo hemos hecho sin pensar en todos los casos en los cuales va a trabajar realmente, pudiendo ser repeticiones o cálculos totalmente innecesarios. O simplemente hemos diseñado mal un algoritmo y no hemos conseguido el diseño mas óptimo. Y cientos de casos en los que simplemente actuamos sin pensar.

Pues bien, esta nueva sección va orientada a ver cuales son esos algoritmos y formas de pensar que nos pueden ayudar a mejorar nuestro código y su eficiencia.

La eficiencia se encuentra detrás de cada detalle.

¿Como va a estar organizado y publicado?

La idea es ir publicando un post por algoritmo. Y agrupar todos los post dentro de grupos, es decir, todos lo algoritmos de ordenación dentro del grupo de “Algoritmos de Ordenación”; Algoritmos de búsqueda en el de búsqueda y los de encaminamiento en su respectivo. Lo cogéis? espero que si ;).

El contenido será lo mencionado hasta ahora, se irán publicando problemas y analizando en varios post, la diferentes formas de resolver el problema con los diferentes algoritmos. De esta forma, con el tiempo se espera ver los algoritmos mas famosos y las formas de pensar y diseñar los mismos.

Como siempre podéis dejar en los comentarios sugerencias de problemas y algoritmos que os interesen que tratemos.

¿Como va a ser redactado?

Todos los algoritmos serán explicados siguiendo una estructura general, puede variar pero la idea es mantenerla constante en todos los post.

En los Post, se explicará el algoritmo apoyándose en imágenes, para facilitar la compresión y un lectura más visual. La explicación ira siempre acompañada de código, que será mostrado de la siguiente forma:

Además se publicará en un repositorio público el código completo del problema localizado en el portal: GitHub. En los post solo encontraremos las partes clave del código para facilitar la comprensión y su lectura.

Para cualquier duda o pregunta, podéis dejarla en los comentarios.

NOTA: Como siempre la versión inglesa del post saldrá un día después.

Leave a Reply

Your email address will not be published.