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
        
          
          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