Curso de Estructuras de Datos y Algoritmos Avanzados con Python
Acerca de este curso
> Módulo 1: Haciendo mucho con muy poco
De dolorosamente lento a óptimo: el subarreglo de suma máxima
Hallar el factorial con un número dado de ceros
Encuentre el subarreglo de longitud dada con el mínimo máximo
Problemas de matrices que involucran módulos
Matemáticas útiles: el principio de inclusión-exclusión
> Módulo 2: Algoritmos más complejos en matrices
Rolling Hashes para construir un palíndromo
Contar submatrices de forma eficiente con una suma determinada
Búsqueda binaria de una longitud de subarreglo óptima
Algoritmo de Manacher
Optimización Sieve de Eratóstenes
> Módulo 3: Algoritmos recursivos generales
Las torres de Hanoi con Four Pegs
Evaluación de expresiones aritméticas con un analizador descendente recursivo
Exponenciación matricial y funciones similares a Fibonacci
Una suma de poderes
Encontrar una permutación con una propiedad dada
> Módulo 4: Programación dinámica
¿Qué es DP?
La ruta de suma mínima en una matriz
Una ruta de suma mínima más compleja en una matriz
Contar el número de formas de pintar una cerca
Contando subsecuencias crecientes
> Módulo 5: Programación dinámica avanzada
Contar sumas de dígitos divisibles por d
Consultas de rango mínimo con DP
Otro problema de la ruta de la matriz
Programación dinámica en árboles
TSP y el algoritmo Held-Karp
> Módulo 6: Estructuras de datos basadas en árboles
Árboles de segmentos y el problema de RMQ
Árboles de segmentos con actualizaciones diferidas
Árboles indexados binarios
Árboles binarios indexados para el problema RMQ
Treaps
> Módulo 7: Algoritmos de teoría de grafos
El antepasado común más bajo
El camino más corto