Saltar al contenido

Algoritmos: Diseño y Análisis, Parte 1

Sobre este curso

Los algoritmos son el corazón de la informática, y el tema tiene innumerables aplicaciones prácticas así como profundidad intelectual. Este curso es una introducción a los algoritmos para estudiantes con al menos un poco de experiencia en programación. El curso es riguroso, pero hace hincapié en el panorama general y la comprensión conceptual sobre la implementación de bajo nivel y los detalles matemáticos. Después de completar este curso, usted estará bien posicionado para realizar sus entrevistas técnicas y hablar con fluidez sobre los algoritmos con otros programadores y científicos de la computación. Los temas específicos incluyen: Notación «Big-oh», clasificación y búsqueda, dividir y conquistar (método maestro, multiplicación de enteros y matrices, par más cercano), algoritmos aleatorios (QuickSort, algoritmo de contracción para cortes mínimos), estructuras de datos (montones, árboles de búsqueda equilibrados, tablas hash, filtros de floración), primitivas de gráficos (aplicaciones de BFS y DFS, conectividad, caminos más cortos). Sobre el instructor: Tim Roughgarden es profesor del Departamento de Ciencias de la Computación de la Universidad de Stanford desde 2004. Ha enseñado y publicado extensamente sobre el tema de los algoritmos y sus aplicaciones.

Programa de estudios

Semana 1

Algoritmos: Diseño y Análisis, Parte 1
Algoritmos: Diseño y Análisis, Parte 1
  1. I. INTRODUCCIÓN (Semana 1)
  2. II. ANÁLISIS SINTÉTICO (Semana 1)
  3. III. DIVISIÓN & CONQUISTA DE ALGORITOS (Semana 1)
  4. Conjunto de problemas #1
  5. Asignación de programación #1
  • Prueba: Asignación de programación #1

Semana 2

  1. IV. EL MÉTODO MAESTRO (Semana 2)
  2. V. CUESTIONARIO – ALGORITMO (Semana 2)
  3. VI. ANÁLISIS RÁPIDO (Semana 2)
  4. VII. REVISIÓN DE PROBABILIDADES (Semana 2)
  5. Conjunto de problemas #2
  6. Asignación de programación #2
  • Prueba: Pregunta de programación #2

Semana 3

  1. VIII. SELECCIÓN DEL TIEMPO LINEAL (Semana 3)
  2. IX. GRAFICOS Y EL ALGORITO DE CONTRACCIÓN (Semana 3)
  3. Conjunto de problemas #3
  4. Asignación de programación #3
  • Prueba: Asignación de programación #3

Semana 4

  1. X. BÚSQUEDA DE GRAFICOS Y CONECTIVIDAD (Semana 4)
  2. Conjunto de problemas #4
  3. Asignación de programación #4
  • Prueba: Asignación de programación #4

Semana 5

  1. XI. ALGORITMO DEL CAMINO MÁS CORTO DE DIJKSTRA (Semana 5)
  2. XII. HEAPS (Semana 5)
  3. XIII. BUSCADORES DE BINARIOS EQUILIBRADOS (Semana 5)
  4. Conjunto de problemas #5
  5. Asignación de programación #5
  • Prueba: Asignación de programación #5

Semana 6

  1. XIV. HASHING: LO BÁSICO (Semana 6)
  2. XV. PENDIENTE UNIVERSAL (Semana 6)
  3. XV. FILTROS DE FLORES (Semana 6)
  4. PREVIO A LA PARTE 2
  5. Conjunto de problemas #6
  6. Asignación de programación #6
  • Prueba: Asignación de programación #6

Semana 7

  1. Examen final