Un algoritmo es solo un conjunto de instrucciones que producen un resultado (reproducible). Una receta de cocina puede considerarse como un algoritmo. La aplicación “Hello World” que todos escriben cuando su primer programa es un algoritmo. Puede que solo haga una cosa, pero dará el mismo resultado cada vez que lo ejecute.
Comencé a programar software cuando tenía 11 años. Intenté aprender los programas básicos que comúnmente llamamos algoritmos (pila, cola, lista enlazada, etc.) pero la mayoría de los libros no eran amigables de 11 años. Apenas están en el séptimo año de universidad. Incluso hoy, décadas después, todavía abro esos libros y saco lo que puedo de ellos.
Yo diría que los algoritmos no deberían ser tu objetivo final. Más bien, construir cosas debería. Eventualmente, aprenderá dónde es útil una pila (cuando se mantiene un historial que no se puede deshacer, un paréntesis de equilibrio, un seguimiento preciso de las llamadas a funciones, etc.) y cuándo sería más apropiada una lista vinculada o una matriz dinámica.
Los libros que enseñan este tema son muy difíciles de descifrar. Muchas veces leerás el libro y seguirás escribiendo los algoritmos, luego irás a las preguntas para verificar tu comprensión y serás golpeado con muchas matemáticas que te dejarán confundido.
- ¿Cuál fue / fue la única cosa que hizo que todo fuera un “clic” cuando aprendió a hacer uno o más aspectos del marketing en línea? ¿Cuándo fue tu ‘aha!’ ¿momento?
- ¿Qué habilidades puedo aprender en unas vacaciones de 2 meses?
- Cómo aprender a hablar correctamente sin estar ansioso.
- ¿Cómo aprendiste otro idioma mientras vivías en tu país?
- ¿Cómo sobreviven los desarrolladores de software con capacidad de aprendizaje lento en la industria de TI acelerada?
Aquí están los libros que realmente han encontrado clic :
- Estructuras de datos y algoritmos simplificados
- Estructuras de datos utilizando C
- Algoritmos 4º
Evita los otros libros por ahora. Tengo más de 50 estructuras de datos y libros de algoritmos en mi estante. Los anteriores son los libros más fáciles de entender sobre el tema. Hay otros buenos, pero estarán más avanzados de lo que estás buscando o en este momento.
Cuando sientes que quieres algo realmente avanzado pero increíblemente revelador:
- Cómo pensar en los algoritmos
Ese es un libro sobre cómo desarrollar la forma algorítmica de pensar.
Aquí hay un libro que explica cómo aplicar algoritmos a nuestra vida diaria:
- Algoritmos para vivir por: La informática de las decisiones humanas
Los algoritmos no se tratan solo de escribir una pila, una cola o una búsqueda de ruta A *. Se trata de encontrar un problema y pensar profundamente sobre la mejor manera de resolverlo. A veces, eso significa aplicar algún análisis matemático para probar que el algoritmo hace lo que dice que hace. El a veces es siempre cuando lo estudiamos formalmente. La mayoría de nosotros nunca probamos nada. Simplemente lo resolvemos y seguimos adelante. A veces podemos ver el código y solo saber qué función de Big-Oh es y no es necesario realizar muchos análisis.
Pero hay más algoritmos que solo lo que leen en los libros. A veces tendrás dos documentos XML y necesitarás comparar nodos. O un XML y un JSON, y necesitas comparar contenido. O necesita escribir un motor de reglas para calcular una comisión de ventas o un descuento de producto.
En resumen, cada línea de código que escribe es solo un paso de un algoritmo para completar el programa que está escribiendo.
Así que diría que sigan aprendiendo. Sigue siendo curioso. Estudia lo que puedas y haz preguntas. Hacer preguntas sobre Quora.
Aprenderá sobre este algoritmo y su negocio de codificación toda su vida. Lo hago desde hace 29 años y todos los días aprendo algo que no sabía antes.