Cuando quieres aprender algoritmos y estructuras de datos, lo dices en serio. Pero si su lenguaje es “poderoso” (tiene muchas características como C ++, C #, Java, Python, …) perderá mucho tiempo aprendiendo lenguaje, no algoritmos y estructuras de datos. Puede pensar en los árboles como elementos de sintaxis (y cualquier otra característica) y en el bosque como un concepto importante (cualquier algoritmo, estructura de datos, puede ser POO, lo que sea). Cuantas más características (árboles) tenga en su idioma, más complicada será la tarea de retroceder y comprender los conceptos (ver el bosque).
Pero si el lenguaje es realmente poderoso (tiene un conjunto pequeño de características bien probadas), el lenguaje en sí mismo pasa al segundo lugar. No hay tantos árboles para que puedas retroceder un par de pasos y … Bueno, creo que son suficientes analogías. =)
También muchos libros sobre algoritmos y estructuras de datos usan un pseudocódigo similar a Algol / Pascal y será fácil convertir ejemplos en estos idiomas. Y puede usar directamente ejemplos del libro “Algorithms and Data Structures” de Wirth. Edición Oberon (2004), PDF (1.2 MB).
- ¿Por qué la complejidad espacial de quicksort es "log n"?
- ¿Qué área de finanzas NO se externalizará a computadoras y algoritmos en el futuro?
- ¿Es posible "escribir un programa o algoritmo" para encontrar la complejidad de tiempo de cualquier programa dado como entrada?
- ¿Cuál sería su selección de 20 problemas en algoritmos de clasificación (6 problemas de nivel básico, 6 problemas de nivel medio y 8 difíciles) para que resolver esos 20 le daría la máxima comprensión sobre la clasificación?
- ¿Cómo puedo aprender los algoritmos de resolución de problemas solo?