Olimpiada Oaxaqueña de Informática
  • Bienvenido a la Olimpiada Oaxaqueña de Informática
  • Temario
    • Introducción a la Programación
      • Definición de computadora
      • Definición de Sistema Operativo
      • Definición de lenguaje de programación
      • Definición de compilador
      • Sistema Binario y Hexadecimal
      • Operaciones AND, OR, NOT, XOR
      • Definición y ejemplo de algoritmos
      • Representación gráfica de un algoritmo
      • Qué es un pseudocódigo
        • Estructura base y Variables
        • Condicionales y ciclos
      • Configuración e instalación de compilador de C y C++
    • Lenguajes de Programación C y C++
      • Presentación de C y C++ como lenguajes de programación
      • Estructura de un programa en C++
        • Ejemplos de códigos en C++
      • Tipos de datos y variables
      • Entrada y salida de datos STDIN SDTOUT
      • Estructuras de Control y Repetición
      • Introducción a estructuras de datos: arreglos
    • Algoritmos de ordenamiento
      • Bubble Sort
    • Estructuras de datos
      • Pilas (Stack)
    • Paradigmas de Solución de Problemas
    • Gráfos
    • Matemáticas
    • Procesamiento de Cadenas
  • OOI 2019
    • Cursos online
      • Clase 1
      • Clase 2
      • Clase 3
      • Clase 4
      • Clase 5
      • Clase 6
      • Clase 7
      • Clase 8
      • Clase 9
      • Clase 10
      • Clase 11
      • Clase 12
      • Clase 13
      • Clase recursión introductorio
  • OOI 2020
    • Instrucciones para nuevos miembros
    • Cursos introductorios
      • Clase 1
      • Clase 2
      • Clase 3
      • Clase 4
      • Clase 5
      • Clase 6
      • Clase 7
      • Clase 8
      • Clase 9
      • Clase 10
      • Clase 11
      • Clase 12
      • Clase 13
      • Clase 14
      • Clase 15
      • Clase 16
      • Clase 17
      • Clase 18
      • Clase 19
      • Clase 20
      • Clase 21
      • Clase 22
    • Cursos avanzados
      • Temario
      • Sesión 1
      • Sesión 2
      • Sesión 3-4
      • Sesión 5
      • Sesión 6
      • Sesión 7
      • Sesión 8
      • Sesión 9-10
      • Sesión 11
      • Sesión 12
      • Sesión 13
      • Sesión 14
      • Sesión 15
      • Sesión 16
      • Sesión 17
      • Sesión 18
      • Sesión 19
      • Sesión 20
      • Sesión 21
      • Sesión 22
    • Cursos matemáticas discretas
      • Sesión 1
      • Sesión 2
  • OOI 2021
    • Fase 4. Semana 1
  • Misceláneos
    • Complejidad de un algoritmo
    • Tutorial instalación VS Code, compilador y debugger para C++
Powered by GitBook
On this page
  1. OOI 2020
  2. Cursos avanzados

Temario

Temario de los cursos avanzados

  • Recursión

    • Funciones matemáticas recursivas

    • Recursión para problemas no matemáticos (ventanas, calificaciones recursivas)

    • Recursión con memorización

  • Complejidad de un algoritmo

    • Notación O(n)

  • Uso del debugger de VS Code

  • Recomendación de uso de Ubuntu

  • Aritmética modular

    • Exponenciación rápida

    • Elevar a a la n molulo m

  • Búsqueda binaria

    • Recursiva

    • Iterativa

    • Lower bound y upper bound

  • Creación de nuevos tipos de datos usando struct

  • Pilas

    • Concepto básico

    • Implementación manual

    • std::stack

    • Problema de los paréntesis balanceados

    • Histograma

  • Búsqueda en profundidad (DFS)

    • Representación gráfica con árbol de decisiones

    • Todas las sumas posibles en un arreglo

    • DFS en dos dimensiones

  • Backtracking

    • Problema de las 8 reinas

  • Colas

    • Concepto básico

    • Implementación manual

    • std::queue

  • Búsqueda en amplitud (BFS)

    • Representación gráfica con árbol de decisiones

    • BFS en dos dimensiones

  • BFS y colas de prioridad

  • Mapas std::map

  • Barridos

    • Uso de cubetas (problema xor, sumas de parejas = k)

  • Árboles

  • Grafos

  • Problemas interactivos

  • Problemas de solo salida

  • Programación dinámica

  • Listas ligadas

  • Sets

  • Two pointers

  • Matemáticas y lógica (IMPORTANTE)

    • Exámenes pasados de la OMI

    • Optimización de problemas usando matemáticas

    • Factorización prima

    • Módulos

    • Precálculo

    • Combinatoria (principio del conteo, casillas)

  • Manipulación de strings y caracteres

    • Palindromos

    • subcadenas

    • prefijos y sufijos

Misceláneos

  • Buenas prácticas de programación

    • Paso de parámetros por referencia

  • Librería bits/stdc++

  • Optimizar entrada y salida con cin y cout

  • Leer de archivos

  • Uso de C++11

PreviousCursos avanzadosNextSesión 1

Last updated 5 years ago