====== Algoritmos y estructuras de datos para OIA ====== * Matemática - Algoritmos con enteros * [[algoritmos-oia:enteros:cambio-de-base|Escritura en base / cambio de base]] * [[algoritmos-oia:enteros:maximo-comun-divisor|Máximo Común Divisor]] * [[algoritmos-oia:enteros:elevar-rapidamente|Elevar rápidamente]] * [[algoritmos-oia:enteros:ecuaciones-diofanticas|Ecuaciones Diofanticas]] * [[algoritmos-oia:enteros:criba-de-eratostenes|Criba de Eratóstenes]] * [[algoritmos-oia:enteros:fracciones|Fracciones]] * [[algoritmos-oia:enteros:combinatoria|Combinatoria]]/[[algoritmos-oia:enteros:probabilidad|Probabilidad]] * [[algoritmos-oia:ordenamiento|Algoritmos de ordenamiento]] * [[algoritmos-oia:ordenamiento:merge-sort|Merge sort]] * [[algoritmos-oia:ordenamiento:mediana|Mediana y estadísticos de orden]] * [[algoritmos-oia:busqueda-binaria|Búsqueda lineal y binaria]] * [[algoritmos-oia:busqueda-ternaria|Máximos y mínimos en funciones unimodales]] * [[algoritmos-oia:busqueda-binaria-separadora|Búsqueda binaria separadora]] * [[algoritmos-oia:recursion|Recursión:]] * [[algoritmos-oia:divide-and-conquer|Divide and conquer]] * Programación Dinámica - [[algoritmos-oia:programacion-dinamica|Programación dinámica I]] - [[algoritmos-oia:programacion-dinamica-II|Programación dinámica II]] - [[algoritmos-oia:dp-bitmask|Programación dinámica con máscara de bits]] - * [[algoritmos-oia:backtracking|Búsqueda exhaustiva: Fuerza bruta y backtracking]] * [[algoritmos-oia:complejidad|Análisis de complejidad asintótica]] * [[algoritmos-oia:analisis-amortizado|Análisis de tiempo amortizado]] * [[algoritmos-oia:input-output|Input/Output]] * [[algoritmos-oia:sliding-window| Sliding Window]] * [[algoritmos-oia:sliding-window-rmq| Sliding Window RMQ]] * [[algoritmos-oia:grafos|Grafos]]: * [[algoritmos-oia:grafos:definiciones|Definiciones]] * [[algoritmos-oia:grafos:aristas-como-entidad|Aristas como entidad]] * Caminos mínimos: * [[algoritmos-oia:grafos:bfs|BFS]] * [[algoritmos-oia:grafos:bfs:distintas-movidas-en-tablero|Distintas movidas en un tablero y cómo simularlo]] * [[algoritmos-oia:grafos:bfs:nodos-con-niveles-de-informacion|Guardar distintos tipos de informacion en cada nodo]] * [[algoritmos-oia:grafos:dijkstra|Dijkstra]] * [[algoritmos-oia:grafos:bellman-ford|Bellman Ford]] * [[algoritmos-oia:grafos:floyd-warshall|Floyd Warshall]] * [[algoritmos-oia:grafos:dag-caminos-minimos|DAG de caminos mínimos]] * [[algoritmos-oia:grafos:dfs|DFS]] * [[algoritmos-oia:grafos:componentes-conexas|Componentes conexas]] * [[algoritmos-oia:grafos:camino-euleriano|Ciclo/camino Euleriano]] * [[algoritmos-oia:grafos:camino-hamiltoniano|Ciclo/camino Hamiltoniano]] * [[algoritmos-oia:grafos:grafos-bipartitos|Grafos Bipartitos]] * [[algoritmos-oia:grafos:grafos-bipartitos:maximo-matching-bipartito|Maximo Matching]] * [[algoritmos-oia:grafos:arboles|Árboles]] * [[algoritmos-oia:grafos:arboles:programacion-dinamica-en-arboles|Programación Dinámica en árboles]] * [[algoritmos-oia:grafos:arboles:diametro|Diámetro de un árbol]] * [[algoritmos-oia:grafos:arboles:lowest-common-ancestor|Lowest Common Ancestor]] * [[algoritmos-oia:grafos:arboles:centroides|Descomposición en centroides]] * [[algoritmos-oia:grafos:arbol-generador|Árbol Generador]] * Grafos Dirigidos * [[algoritmos-oia:grafos-dirigidos:toposort|Ordenamiento Topológico (Toposort)]] * [[algoritmos-oia:grafos-dirigidos:componentes-fuertemente-conexas-en-dirigidos|Componentes Fuertemente Conexas]] * [[algoritmos-oia:grafos:grafos-funcionales|Grafos Funcionales]] * String * [[algoritmos-oia:maxima-longitud-de-substring-palindromica|Máxima Longitud de Substring Palindrómica]] * [[algoritmos-oia:maxima-subsecuencia-palindromica|Maxima subsecuencia palindrómica]] * [[algoritmos-oia:trie|Trie]] * [[algoritmos-oia:geometria|Geometría]] * [[algoritmos-oia:geometria:sweep-line|Sweep Line]] * [[algoritmos-oia:geometria:convex-hull|Convex Hull]] * [[algoritmos-oia:geometria:optimizar-triangulacion|Optimizar triangulacion de poligono convexo con alguna función objetivo]] * Estructuras Útiles * [[algoritmos-oia:estructuras:tablita-aditiva|Tablita aditiva]] * [[algoritmos-oia:estructuras:sparse-table|Sparse Table]] * [[algoritmos-oia:estructuras:segment-tree|Segment Tree]] * [[algoritmos-oia:estructuras:fenwick-tree|Fenwick Tree]] * [[algoritmos-oia:estructuras:union-find|Union-Find]] * [[algoritmos-oia:estructuras:compresion-coordenadas|Compresión de coordenadas]] * Problemas con muchas queries a resolver * [[algoritmos-oia:problemas-con-queries:offline-vs-online|Offline vs Online]] * [[algoritmos-oia:problemas-con-queries:algoritmo-de-mo|Algoritmo de Mo]] * Problemas abarcativos Generales * [[algoritmos-oia:problemas-generales:knapsack-problem|Knapsack]] * [[algoritmos-oia:problemas-generales:longest-increasing-subsequence|LIS]] * [[algoritmos-oia:problemas-generales:longest-common-subsequence|LCS]] * [[algoritmos-oia:problemas-generales:averiguar-si-hay-mate-en-2|Jaque mate en 2]] * [[algoritmos-oia:problemas-generales:travelling-salesman-problem|TSP]] * [[algoritmos-oia:problemas-generales:planificar-tareas-optimamente|Planificacion de tareas de manera optima]] * [[algoritmos-oia:problemas-generales:par-de-puntos-mas-cercano|Par de puntos mas cercano en plano]] * Teoría de lenguajes * [[algoritmos-oia:teleng:bnf|Gramática BNF y Parser Recursivo Descendente]]