Bienvenido al sitio web del curso de Estructuras de Datos y Algoritmos. En esta página podrás encontrar la información administrativa del curso. En el repositorio podrás encontrar código ya preparado por tus ayudantes, junto con los eventuales enunciados de las tareas y las diapositivas de clases.
- Cápsula Heap y Stack
- Cápsula Estructuras Básicas
- Cápsula DFS
- Cápsula BST en C
- Cápsula Tablas de Hash en C
- Cápsula MinHeap en C
Número | Tema | Fecha | Sección 1 | Sección 2 |
---|---|---|---|---|
0 | Introducción al curso | 2023-03-06 | Diapos | Diapos |
1 | SelectionSort | 2023-03-13 | Diapos | Diapos |
2 | InsertionSort | 2023-03-15 | Diapos | Diapos |
3 | MergeSort | 2023-03-20 | Diapos | Diapos |
4 | QuickSort | 2023-03-22 | Diapos | Diapos |
5 | Propiedades de QuickSort | 2023-03-27 | Diapos | Diapos |
6 | Repaso I1 | 2023-03-29 | Diapos | Diapos |
7 | Árboles binarios de búsqueda | 2023-04-05 | Diapos | Diapos |
8 | Árboles AVL | 2023-04-10 | Diapos | Diapos |
9 | Árboles 2-3 | 2023-04-12 | Diapos | Diapos |
10 | Árboles rojo-negro | 2023-04-17 | Diapos | Diapos |
11 | Eliminación en rojo-negro | 2023-04-19 | Diapos | Diapos |
12 | Tablas de hash | 2023-04-24 | Diapos | Diapos |
13 | Hashing y ordenación lineal | 2023-04-26 | Diapos | Diapos |
14 | Backtracking | 2023-05-08 | Diapos | Diapos |
15 | Mejoras de Backtracking | 2023-05-10 | Diapos | Diapos |
16 | Grafos | 2023-05-15 | Diapos | Diapos |
17 | DFS y aplicaciones | 2023-05-17 | Diapos | Diapos |
18 | Algoritmos codiciosos | 2023-05-22 | Diapos | Diapos |
19 | Programación dinámica | 2023-05-24 | Diapos | Diapos |
20 | Heaps | 2023-05-29 | Diapos | Diapos |
21 | Repaso I2 | 2023-05-31 | Diapos Grabación |
Diapos Grabación |
22 | MST y algoritmo de Prim | 2023-06-07 | Diapos | Diapos |
23 | MST y algoritmo de Kruskal | 2023-06-12 | Diapos | Diapos |
24 | BFS y algoritmo de Dijkstra | 2023-06-14 | Diapos | Diapos |
25 | Algoritmo de Bellman-Ford | 2023-06-19 | Diapos | Diapos |
26 | Repaso I3 | 2023-06-28 | Diapos Grabación |
Diapos Grabación |
Tipo | Número | Tema | Fecha | Material | ||
---|---|---|---|---|---|---|
Taller | 0 | Introducción a C | M8 y V10 de marzo | Diapos | Código de Ejemplo | |
Ayudantía | 01 | Sorting | V17 de marzo | Diapos | ||
Ayudantía | 02 | Merge, MergeSort y QuickSort | V24 de marzo | Diapos | Código de Ejemplo | |
Ayudantía | 03 | Repaso I1 | V31 de marzo | Diapos | ||
Ayudantía | 04 | Árboles y Árboles Binarios | V14 de abril | Diapos | ||
Ayudantía | 05 | Árboles RojoNegro | V21 de abril | Diapos | ||
Ayudantía | 06 | Hashing | V28 de abril | Diapos | Código de Ejemplo | Grabación |
Ayudantía | 07 | Backtracking | V12 de mayo | Diapos | ||
Ayudantía | 08 | Grafos y DFS | V19 de mayo | Diapos | ||
Ayudantía | 09 | DP y Greedy | V26 de mayo | Diapos |
El programa detallado del curso se encuentra disponible aquí
Nombre | Sección | |
---|---|---|
Sebastián Bugedo | 1 | [email protected] |
Mario Droguett | 2 | [email protected] |
Nombre | Github | |
---|---|---|
Carlos Paredes (jefe) | [email protected] | @CarloGauss33 |
Antonia Caceres (bienestar) | [email protected] | @antoniacaceres |
Catalina Alamos | [email protected] | @CataAlamos |
Martín Illanes | [email protected] | @illanes00 |
Anita Marti | [email protected] | @4n1t4 |
Francisca de la Barra | [email protected] | @fddelabarra |
Tamara Han | [email protected] | @tamyhan |
Estefania Cofré | [email protected] | @Pakarati |
Dafne Arriagada | [email protected] | @Dafnemami |
Sebastián Cavagnaro | [email protected] | @scavagnaro |
Alonso Tamayo | [email protected] | @aetamayo |
Joaquín Viñuela | [email protected] | @Vinuelax |
Nicole Caballero | [email protected] | @nicolecll |
Pablo Soto | [email protected] | @pablo-soto |
Sebastián Terrazas | [email protected] | @sebaterrazas |
Francisca Aguilera | [email protected] | @faguilerag |
Martín Orrego | [email protected] | @OrregoSilva |
Victor Hernández | [email protected] | @victorllagos |
Nicolás Santa María | [email protected] | @nsantama |
José Antonio Castro | [email protected] | @Baelfire18 |
El curso consta de una parte teórica, evaluada mediante evaluaciones escritas (interrogaciones), y una parte práctica, evaluada mediante tareas de programación en C.
Habrá 3 interrogaciones, donde se evaluarán los aspectos más teóricos del contenido.
Evaluación | Fecha |
---|---|
I1 | 3 de abril |
I2 | 5 de junio |
I3 | 4 de julio |
Habrá 4 tareas de programación en C, donde deberán resolver un problema complejo y analizarlo en un informe escrito.
Evaluación | Fecha Publicacion | Fecha Entrega |
---|---|---|
Tarea 0 | 13 de marzo | 27 de marzo |
Tarea 1 | 10 de abril | 26 de abril |
Tarea 2 | 8 de mayo | 24 de mayo |
Tarea 3 | 6 de junio | 22 de junio |
La nota final del curso se calcula de la siguiente manera:
double nota_final() {
/* La nota de cada tarea */
double T0, T1, T2, T3;
/* La nota de cada interrogación*/
double I1, I2, I3;
/* Promedio de tareas */
double NT = min(0.20 * T0 + 0.30 * T1 + 0.25 * T2 + 0.25 * T3, 7.0);
/* Promedio de interrogaciones */
double NI = min(0.25 * I1 + 0.45 * I2 + 0.3 * I3, 7.0);
/* Nota final */
double NF = (NT + NI) / 2;
/* Es necesario tener sobre 3.7 en las evaluaciones escritas y las tareas por separado para aprobar el curso */
if (NI < 3.7 || NT < 3.7) {
return min(3.9, NF);
} else {
return min(NF, 7);
}
}
La formula de atrasos es la siguiente:
double nota_con_atraso(double nota, int dias_de_atraso){
if (dias_de_atraso > 4) { return 1.0; }
return max(1.0, nota - 0.7 * dias_de_atraso);
}
Este curso se adscribe a la política de integridad académica de la Escuela de Ingeniería y el Departamento de Computación.
Los alumnos de la Escuela de Ingeniería de la Pontificia Universidad Católica de Chile deben mantener un comportamiento acorde a la Declaración de Principios de la Universidad. En particular, se espera que mantengan altos estándares de honestidad académica. Cualquier acto deshonesto o fraude académico está prohibido; los alumnos que incurran en este tipo de acciones se exponen a un Procedimiento Sumario. Es responsabilidad de cada alumno conocer y respetar el documento sobre Integridad Académica publicado por la Dirección de Docencia de la Escuela de Ingeniería (disponible en SIDING).
Específicamente, para los cursos del Departamento de Ciencia de la Computación, rige obligatoriamente la siguiente política de integridad académica. Todo trabajo presentado por un alumno para los efectos de la evaluación de un curso debe ser hecho individualmente por el alumno, sin apoyo en material de terceros. Por “trabajo” se entiende en general las interrogaciones escritas, las tareas de programación u otras, los trabajos de laboratorio, los proyectos, el examen, entre otros.
En particular, si un alumno copia un trabajo, o si a un alumno se le prueba que compró o intentó comprar un trabajo, obtendrá nota final 1.1 en el curso y se solicitará a la Dirección de Docencia de la Escuela de Ingeniería que no le permita retirar el curso de la carga académica semestral.
Por “copia” se entiende incluir en el trabajo presentado como propio, partes hechas por otra persona. En caso que corresponda a “copia” a otros alumnos, la sanción anterior se aplicará a todos los involucrados. En todos los casos, se informará a la Dirección de Docencia de la Escuela de Ingeniería para que tome sanciones adicionales si lo estima conveniente. Obviamente, está permitido usar material disponible públicamente, por ejemplo, libros o contenidos tomados de Internet, siempre y cuando se incluya la referencia correspondiente y sea autorizado por los ayudantes.
Lo anterior se entiende como complemento al Reglamento del Alumno de la Pontificia Universidad Católica de Chile1. Por ello, es posible pedir a la Universidad la aplicación de sanciones adicionales especificadas en dicho reglamento.
1: Reglamento del Alumno de la Pontificia Universidad Católica de Chile disponible en: http://admisionyregistros.uc.cl/alumnos/informacion-academica/reglamentos-estudiantiles ↑