Algoritmos
课程教学目标 针对实际问题需求,进行数学建模并选择高效求解算法的训练,为提高学生的素质和创新能力打下必要的基础。主要内容涉及:面对实际问题建立数学模型、设计正确的求解算法、算法的效率估计、改进算法的途径、问题计算复杂度的估计、难解问题的确定和应对策略等等。本课程是算法课程的基础部分,主要涉及算法的设计、分析与改进途径
Lo que serás capaz de hacer
课程教学目标 针对实际问题需求,进行数学建模并选择高效求解算法的训练,为提高学生的素质和创新能力打下必要的基础。主要内容涉及:面对实际问题建立数学模型、设计正确的求解算法、算法的效率估计、改进算法的途径、问题计算复杂度的估计、难解问题的确定和应对策略等等。本课程是算法课程的基础部分,主要涉及算法的设计、分析与改进途径,其他有关计算复杂性的内容将在后续课程中加以介绍。 课程内容安排 本课程的内容分成两大部分:算法的基础知识、通用算法设计技术与分析方法。 第一部分是算法基础知识,约占20%,主要介绍算法相关的基本概念和数学基础。比如,什么是算法的伪码描述?什么是算法最坏情况下和平均情况下的时间复杂度?算法时间复杂度函数的主要性质,算法复杂度估计中常用的数学方法,如序列求和及递推方程求解。 第二部分是通用的算法设计技术与分析方法,主要介绍分治策略、动态规划、贪心法、回溯与分支限界。主要介绍这些设计技术的使用条件、分析方法、改进途径,并给出一些重要的应用。
Temario
UNIDAD 1 - Semana 1 · 18 leccionesDividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 1 - Semana 1
Dividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 1 - Semana 1
- Bienvenida y resumen de la Semana 1
- Visión general, recursos y políticas
- Diapositivas
- ¿Por qué estudiar algoritmos?
- Multiplicación de enteros
- Karatsuba Multiplicación
- Sobre el curso
- Ordenación por combinación: Motivación y ejemplo
- Ordenación por fusión: Pseudocódigo
- Ordenación por fusión: Análisis
- Principios rectores para el análisis de algoritmos
- Lo esencial
- Notación Big-Oh
- Ejemplos básicos
- Grandes Omega y Theta
- Ejemplos adicionales [Revisión - Opcional]
- Conjunto de problemas nº 1
- Tarea de programación nº 1
UNIDAD 2 - Semana 2 · 15 leccionesDividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 2 - Semana 2
Dividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 2 - Semana 2
- Resumen de la 2ª semana
- Algoritmo O(n log n) para contar inversiones I
- Algoritmo O(n log n) para contar inversiones II
- Algoritmo de multiplicación de matrices subcúbicas de Strassen
- Algoritmo O(n log n) para el par más cercano I [Avanzado - Opcional]
- Algoritmo O(n log n) para el par más cercano II [Avanzado - Opcional]
- Motivación
- Declaración formal
- Ejemplos
- Prueba I
- Interpretación de los 3 casos
- Prueba II
- Conjunto de problemas nº 2
- Problemas teóricos opcionales (Lote nº 1)
- Asignación de programación nº 2
UNIDAD 3 - Semana 3 · 12 leccionesDividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 3 - Semana 3
Dividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 3 - Semana 3
- Resumen de la semana 3
- Ordenación rápida: Visión general
- Partición en torno a un pivote
- Corrección de Quicksort [Revisión - Opcional]
- Elegir un buen pivote
- Análisis I: Un principio de descomposición
- Análisis II: La visión clave
- Análisis III: Cálculos finales
- Repaso de Probabilidad I
- Repaso de la probabilidad II
- Conjunto de problemas nº 3
- Tarea de programación nº 3
UNIDAD 4 - Semana 4 · 17 leccionesDividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 4 - Semana 4
Dividir y conquistar, ordenar y buscar, y algoritmos aleatorios - UNIDAD 4 - Semana 4
- Resumen de la semana 4
- Selección aleatoria - Algoritmo
- Selección aleatoria - Análisis
- Selección determinista - Algoritmo [Avanzado - Opcional]
- Selección determinista - Análisis I [Avanzado - Optativo]
- Selección determinista - Análisis II [Avanzado - Optativo]
- Límite inferior omega(n log n) para la ordenación basada en comparaciones [Avanzado - Opcional]
- Gráficos y cortes mínimos
- Representaciones gráficas
- Algoritmo de contracción aleatoria
- Análisis del algoritmo de contracción
- Recuento de recortes mínimos
- Conjunto de problemas nº 4
- Problemas teóricos opcionales (Lote nº 2)
- Tarea de programación nº 4
- Información y preguntas frecuentes para el examen final
- Examen final
UNIDAD 5 - Semana 1 · 15 leccionesBúsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 5 - Semana 1
Búsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 5 - Semana 1
- Resumen de la semana 1
- Visión general, recursos y políticas
- Diapositivas
- Graph Search - Visión general
- Búsqueda Breadth-First (BFS): Conceptos básicos
- BFS y caminos más cortos
- BFS y conectividad no dirigida
- Búsqueda en profundidad (DFS): Conceptos básicos
- Ordenación topológica
- Cálculo de componentes fuertes: El algoritmo
- Computación de componentes fuertes: El análisis
- Estructura de la Web [Optativo]
- Conjunto de problemas nº 1
- Problemas teóricos opcionales (Semana 1)
- Tarea de programación nº 1
UNIDAD 6 - Semana 2 · 8 leccionesBúsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 6 - Semana 2
Búsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 6 - Semana 2
- Resumen de la 2ª semana
- Algoritmo del camino más corto de Dijkstra
- Algoritmo de Dijkstra: Ejemplos
- Corrección del algoritmo de Dijkstra
- Algoritmo de Dijkstra: Implementación y tiempo de ejecución
- Conjunto de problemas nº 2
- Problemas teóricos opcionales (Semana 2)
- Asignación de programación nº 2
UNIDAD 7 - Semana 3 · 12 leccionesBúsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 7 - Semana 3
Búsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 7 - Semana 3
- Resumen de la semana 3
- Estructuras de datos: Visión general
- Montones: Operaciones y aplicaciones
- Heaps: Detalles de implementación [Avanzado - Opcional]
- Árboles de búsqueda equilibrada: Operaciones y aplicaciones
- Conceptos básicos del árbol de búsqueda binario, parte I
- Conceptos básicos del árbol de búsqueda binario, parte II
- Árboles rojo-negro
- Rotaciones [Avanzado - Opcional]
- Inserción en un árbol rojo-negro [Avanzado]
- Conjunto de problemas nº 3
- Tarea de programación nº 3
UNIDAD 8 - Semana 4 · 15 leccionesBúsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 8 - Semana 4
Búsqueda de grafos, caminos más cortos y estructuras de datos - UNIDAD 8 - Semana 4
- Resumen de la semana 4
- Tablas Hash: Operaciones y aplicaciones
- Tablas Hash: Detalles de implementación, Parte I
- Tablas Hash: Detalles de implementación, Parte II
- Conjuntos de datos patológicos y la motivación del hashing universal
- Hashing universal: definición y ejemplo [Avanzado - Opcional]
- Hashing universal: análisis del encadenamiento [Avanzado - Optativo]
- Rendimiento de la tabla hash con direccionamiento abierto [Avanzado - Opcional]
- Filtros Bloom: Conceptos básicos
- Filtros Bloom: Análisis heurístico
- Conjunto de problemas nº 4
- Problemas teóricos opcionales (Semana 4)
- Tarea de programación nº 4
- Información y preguntas frecuentes para el examen final
- Examen final
UNIDAD 9 - Semana 1 · 22 leccionesAlgoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 9 - Semana 1
Algoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 9 - Semana 1
- Resumen de la semana 1
- Visión general, recursos y políticas
- Diapositivas
- Aplicación: Enrutamiento en Internet
- Aplicación: Alineación de secuencias
- Introducción a los algoritmos codiciosos
- Aplicación: Caché óptimo
- Definición del problema
- Un algoritmo codicioso
- Prueba de corrección - Parte I
- Prueba de corrección - Parte II
- Manejo de lazos [Avanzado - Opcional]
- Definición del problema MST
- Algoritmo MST de Prim
- Prueba de corrección I
- Prueba de corrección II
- Prueba de propiedad cortada [Avanzada - Opcional]
- Aplicación rápida I
- Aplicación rápida II
- Conjunto de problemas nº 1
- Problemas teóricos opcionales (Semana 1)
- Tarea de programación nº 1
UNIDAD 10 - Semana 2 · 20 leccionesAlgoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 10 - Semana 2
Algoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 10 - Semana 2
- Resumen de la 2ª semana
- Algoritmo MST de Kruskal
- Corrección del algoritmo de Kruskal
- Implementación del algoritmo de Kruskal mediante Union-Find I
- Implementación del algoritmo de Kruskal mediante Union-Find II
- MSTs: Estado del arte y cuestiones pendientes [Avanzado - Optativo]
- Aplicación a la agrupación
- Corrección del algoritmo de agrupamiento
- Uniones perezosas [Avanzado - Opcional]
- Unión por rango [Avanzado - Opcional]
- Análisis de la unión por rango [Avanzado - Optativo]
- Compresión de ruta [Avanzado - Opcional]
- Compresión de trayectorias: El análisis de Hopcroft-Ullman I [Avanzado - Optativo]
- Compresión de trayectorias: El análisis de Hopcroft-Ullman II [Avanzado - Optativo]
- La función Ackermann [Avanzada - Opcional]
- Compresión de trayectorias: Análisis de Tarjan I [Avanzado - Optativo]
- Compresión de trayectorias: Análisis de Tarjan II [Avanzado - Optativo]
- Conjunto de problemas nº 2
- Problemas teóricos opcionales (Semana 2)
- Asignación de programación nº 2
UNIDAD 11 - Semana 3 · 14 leccionesAlgoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 11 - Semana 3
Algoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 11 - Semana 3
- Resumen de la semana 3
- Introducción y motivación
- Definición del problema
- Un algoritmo codicioso
- Un ejemplo más complejo
- Prueba de corrección I
- Prueba de corrección II
- Introducción: Conjuntos independientes ponderados en grafos de trayectorias
- SIO en grafos de trayectorias: Subestructura óptima
- SIO en grafos de trayectorias: Un algoritmo de tiempo lineal
- SIO en grafos de trayectorias: Un algoritmo de reconstrucción
- Principios de programación dinámica
- Conjunto de problemas nº 3
- Tarea de programación nº 3
UNIDAD 12 - Semana 4 · 16 leccionesAlgoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 12 - Semana 4
Algoritmos codiciosos, árboles de extensión mínima y programación dinámica - UNIDAD 12 - Semana 4
- Resumen de la semana 4
- El problema de la mochila
- Un algoritmo de programación dinámica
- Ejemplo [Revisión - Opcional]
- Subestructura óptima
- Un algoritmo de programación dinámica
- Definición del problema
- Subestructura óptima
- Prueba de la subestructura óptima
- Un algoritmo de programación dinámica I
- Un algoritmo de programación dinámica II
- Conjunto de problemas nº 4
- Problemas teóricos opcionales (Semana 4)
- Tarea de programación nº 4
- Información y preguntas frecuentes para el examen final
- Examen final
UNIDAD 13 - Semana 1 · 20 leccionesCaminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 13 - Semana 1
Caminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 13 - Semana 1
- Resumen de la semana 1
- Visión general, recursos y políticas
- Diapositivas
- Caminos más cortos de una sola fuente, revisados
- Subestructura óptima
- El algoritmo básico I
- El algoritmo básico II
- Detección de ciclos negativos
- Una optimización del espacio
- Enrutamiento de Internet I [Optativo]
- Enrutamiento en Internet II [Optativo]
- Definición del problema
- Subestructura óptima
- El algoritmo Floyd-Warshall
- Una técnica de reequilibrio
- Algoritmo de Johnson I
- Algoritmo de Johnson II
- Conjunto de problemas nº 1
- Problemas teóricos opcionales (Semana 1)
- Tarea de programación nº 1
UNIDAD 14 - Semana 2 · 15 leccionesCaminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 14 - Semana 2
Caminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 14 - Semana 2
- Resumen de la 2ª semana
- Problemas resolubles en tiempo polinómico
- Reducciones y exhaustividad
- Definición e interpretación de la completitud NP I
- Definición e interpretación de la completitud NP II
- La cuestión P vs. NP
- Enfoques algorítmicos para problemas NP-completos
- El problema de la cubierta de vértice
- Búsqueda más inteligente de la cubierta de vértice I
- Búsqueda más inteligente para Vertex Cover II
- El problema del viajante de comercio
- Un algoritmo de programación dinámica para el TSP
- Conjunto de problemas nº 2
- Problemas teóricos opcionales (Semana 2)
- Asignación de programación nº 2
UNIDAD 15 - Semana 3 · 9 leccionesCaminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 15 - Semana 3
Caminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 15 - Semana 3
- Resumen de la semana 3
- Una heurística Knapsack codiciosa
- Análisis de una heurística Knapsack codiciosa I
- Análisis de una heurística Knapsack codiciosa II
- Una heurística de programación dinámica para Knapsack
- Knapsack mediante programación dinámica, revisitado
- Análisis de la heurística de programación dinámica
- Conjunto de problemas nº 3
- Tarea de programación nº 3
UNIDAD 16 - Semana 4 · 17 leccionesCaminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 16 - Semana 4
Caminos más cortos revisitados, problemas NP-completos y qué hacer con ellos - UNIDAD 16 - Semana 4
- Resumen de la semana 4
- El problema del corte máximo I
- El problema del corte máximo II
- Principios de la búsqueda local I
- Principios de la búsqueda local II
- El problema 2-SAT
- Paseos aleatorios sobre una línea
- Análisis del algoritmo de Papadimitriou
- Emparejamiento estable [Opcional]
- Emparejamientos, flujos y la paradoja de Braess [Opcional]
- Programación lineal y más allá [Optativo]
- Epílogo
- Conjunto de problemas nº 4
- Problemas teóricos opcionales (Semana 4)
- Tarea de programación nº 4
- Información y preguntas frecuentes para el examen final
- Examen final
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $4,990 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
16 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
36 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Stanford Online.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 16 unidades · 245 lecciones · 144 h
- 12 meses de acceso
- 36 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $4,990 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Stanford Online; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


