En mi opinión, las estructuras de datos (y los algoritmos, en general) son ortogonales a si un lenguaje de programación está estático / dinámico o fuertemente / débilmente tipado.
Uno puede implementar (y enseñar) intentos o B-trees usando Java o C / C ++ (tanto estática y fuertemente tipado) o Ruby (fuertemente, pero tipado dinámicamente) o Javascript (tipeado de forma dinámica y débil).
Dicho esto, y siendo un viejo pedo, si tuviera que enseñar estructuras de datos fundamentales (árboles, listas, etc.) usaría C. No por el sistema de tipos, sino principalmente por los punteros (y la aritmética de punteros) y la falta de gestión de memoria / recolección de basura.
En la opinión de mi viejo pedo, obligar a los programadores a administrar conscientemente la memoria ellos mismos les dará una visión más clara de las compensaciones de complejidad de tiempo y espacio entre las estructuras de datos y algoritmos de la competencia.
- ¿Cómo es ser un maestro de Teach for America?
- ¿Cuáles son algunos buenos sitios web de creación de pruebas o aplicaciones para maestros?
- ¿Cómo le explico Big Data a un niño de 8 años y una persona de la tercera edad?
- ¿Quiénes son los mejores profesores de canto en Sydney para adultos?
- ¿Cómo se sienten los maestros sobre la película ‘The Freedom Writers’?