CURSO DE PROGRAMACIÓN COMPETITIVA

Este sitio servirá para apoyo al curso de programación competitiva de la URJC 2020 que se llevará a cabo desde el 7 de febrero de 2020 hasta el 24 de abril de 2020

Índice de contenidos

Bloque 1 - Teoría (07-02)

  • Diapositivas
  • Introducción a la Programación Competitiva
    • Competiciones
    • Tipos de competiciones
    • Tipos de problemas
    • Herramientas y entrenamiento online

Bloque 2 - Teoría (14-02)

  • Diapositivas
  • Complejidad en tiempo
  • Estructuras de datos
    • Arrays
    • Strings
    • Vectors
    • Listas, pilas, colas
    • Sets
    • Maps

Bloque 1 y 2 - Práctica (28-02)

  • Problemas
  • Concurso de entrenamiento de AdaByron como prácticas Bloque 1 y 2
  • Temática
    • Mapas
    • Arrays
    • Condicionales
    • Fechas

Bloque 3 - Teoría (06-03)

  • Diapositivas
  • Algoritmos de Ordenamiento
    • Bubble Sort / Selection Sort
    • Quicksort
    • Mergesort
    • Otro tipo de algoritmos de ordenamiento y búsquedas
  • Algoritmos Voraces
  • Búsqueda Binaria
  • Búsqueda Ternaria

Bloque 3 - Práctica (13-03)

Bloque 4 - Teoría (20-03)

  • Diapositivas
    • Grafos I
      • Representación
      • Recorridos (BFS, DFS)
      • Caminos y ciclos eulerianos y hamiltonianos
      • Ordenamiento Topológico
      • Puntos de articulación

Bloque 4 - Práctica (27-03)

Bloque 5 - Teoría (03-04)

  • Diapositivas
  • Grafos II
    • Heaps
    • Floyd Warshall
    • Dijkstra
    • Union-Find
    • Prim
    • Kruskal

Bloque 5 - Práctica (10-04)

Bloque 6 - Teoría (17-04)

  • Diapositivas
  • Programación Dinámica I
    • Introducción
    • Estructura
    • Memoización
    • Tipos de Programación Dinámica
    • Ejemplos
      • Fibonacci
      • Contar caminos
      • Knapsack

Bloque 6 - Práctica (24-04)

  • Problemas
    • Programación Dinámica I
      • Introducción
      • Estructura
      • Memoización
      • Tipos de Programación Dinámica
      • Ejemplos
        • Fibonacci
        • Contar caminos
        • Knapsack