¿Qué estructuras de datos y algoritmos son esenciales en un curso de pregrado en Ciencias de la Computación?

Primero lo muy básico. Comprenda bien el hashing y la clasificación. Las diferentes implementaciones específicas de cada uno, y sus ventajas y desventajas. Aprenda cuándo cada uno funciona bien y cuándo no. (Menciono esto porque encuentro un número sorprendentemente alto de graduados en informática que no lo hacen).

Luego, haz árboles y gráficos. Árboles binarios, árboles B, gráficos. Recorridos de árbol / gráfico (primero en profundidad, primero en amplitud, etc.) Algunos de los algoritmos de gráficos importantes: ruta más corta, ciclos, etc.

Usted los comprende bien y:

  • Estarás mejor que la mayoría de las personas que hacen programación de computadoras en estos días
  • Con suerte te enamorarás de las estructuras de datos y los algoritmos (especialmente cuando comiences a hacer algunos de los algoritmos gráficos más elegantes / hermosos).
  • Comenzará a buscar y leer nuevas estructuras de datos y algoritmos solo porque sí. Cuál es el estado en el que desea estar, si ha elegido la informática como campo.

La lista puede ser casi final, pero aquí hay algunos de los algoritmos que he usado con frecuencia.

1. El camino más corto y los recorridos de los árboles.
2. Evaluación de la expresión relacionada
3. Clasificaciones: probablemente las más importantes
4. Búsqueda: árbol binario, árbol B, árbol B +
5. Capacidad para construir DFA y convertirlos en código
6. Analizadores – SLR, LALR
6. Algunos favoritos personales: problema con la mochila. Algoritmo de pintores. Árboles de decisión.

Aparte de eso: una buena comprensión de las técnicas básicas de algoritmos como dividir y conquistar, retroceder, programación dinámica y otras también es bastante útil.

Estructura de datos –

La estructura de datos más importante es la lista, el par clave-valor, el almacenamiento basado en hash y los diccionarios.

Todo sobre Introducción a Algoritmos por Cormen, Leiserson, Rivest y Stein.