====== Algoritmos y Estructuras de Datos II - 2020 ====== ===== Docentes ===== * Teóricos: Emmanuel Gunther. * Prácticos: Franco Luque, Demetrio Vilela y Emmanuel Gunther. * Laboratorio: * Martes: Gonzalo Peralta, Leandro Ramos y Marco Rocchietti. * Jueves: Sergio Canchi, Leonardo Rodríguez y Diego Piloni. * Ayudantes: Martín Fernandez, Matías Gobbi y Christian Moreno. ===== Horarios ===== * Teóricos: lunes y miércoles de 14 a 16hs, en el aula 17. * Prácticos: lunes y miércoles de 16 a 18hs, en el aula 17. * Laboratorio: martes o jueves de 14 a 18hs, en el aula 28 (lab). ===== Acerca de... ===== * [[algo2:main:2020:acercade#objetivos|Objetivos]] * [[algo2:main:2020:acercade#programa|Programa]] * [[algo2:main:2020:acercade#regimen_de_aprobacion_promocion_y_regularidad|Régimen de aprobación, promoción y regularidad]] * [[algo2:main:2020:acercade#preguntas_frecuentes|Preguntas frecuentes]] * [[algo2:main:2020:acercade#grupo_de_correo|Grupo de correo]] ===== Teórico ===== * Primera parte: Análisis de Algoritmos. * {{ :algo2:main:2020.01.ordenacion.elemental.pdf |Ordenación elemental}} * {{ :algo2:main:2020.02.ordenacion.avanzada.pdf |Ordenación avanzada}} * Video: [[https://www.youtube.com/watch?v=IpHuceXgz88|Idea del Merge Sort]] * Texto: {{ :algo2:main:explicacion_mergesort.pdf | Implementación del Merge Sort}} * Video: [[https://www.youtube.com/watch?v=a3INgs0D5us|Idea del Quick Sort]] * Texto: {{ :algo2:main:explicacion_quicksort.pdf | Implementación del Quick Sort}} * {{ :algo2:main:2020.03.recurrenciasDyV.y.jerarquia.pdf | Recurrencias y jerarquía de funciones }} * Video: [[https://www.youtube.com/watch?v=rQxUUjNBhd8|Recurrencias Divide y Vencerás - Parte 1]] * Video: [[https://www.youtube.com/watch?v=n5D1KExw30Y|Recurrencias Divide y Vencerás - Parte 2]] * Segunda parte: Tipos y Estructuras de Datos. * {{ :algo2:main:2020.04.tipos.concretos.pdf |Tipos concretos}} * Video: [[https://www.youtube.com/watch?v=1cCCyyPPsck|Tipos Concretos - Parte 1]] * Video: [[https://www.youtube.com/watch?v=WPhYihSXWws|Tipos Concretos - Parte 2]] * {{ :algo2:main:2020.05.tipos.abstractos.pdf |Tipos Abstractos de Datos}} * Video: [[https://youtu.be/f2EXztXim_4|Introducción a TADs - Parte 1]] * Video: [[https://youtu.be/0P-T-43s2HM|Introducción a TADs - Parte 2]] * {{ :algo2:main:2020.06.tipos.abstractos2.pdf |TADs: Pila y Cola}} * Video: [[https://youtu.be/_QH9IY90JZE|Pilas y Colas]] * {{ :algo2:main:2020.07.abb.pdf |TADs: Árboles Binarios}} * Video: [[https://youtu.be/yxseXEN3qc0|Árboles Binarios]] * Tercera parte: Técnicas de resolución de problemas. * {{ :algo2:main:2020.08.voraz.pdf | Algoritmos voraces}} * Video: [[https://youtu.be/b9Hw6yueSXQ|Algoritmos voraces - Parte 1]] * Video: [[https://youtu.be/DbUN8gkQzO4|Algoritmos voraces - Parte 2]] * {{ :algo2:main:2020.09.voraz.grafos.pdf | Algoritmos voraces sobre grafos}} * Video: [[https://youtu.be/Ya_F2MMgsTQ|Algoritmo de Prim]] * Video: [[https://youtu.be/ole3H9PmWoo|Algoritmo de Dijkstra]] * {{ :algo2:main:2020.10.backtracking.pdf | Backtracking}} * Video: [[https://youtu.be/MMEFM6ZQcIM|Backtracking]] * {{ :algo2:main:2020.11.programacion.dinamica.pdf | Programación Dinámica}} * {{ :algo2:main:2020.12.dfs.pdf | Recorrida de grafos}} /* ==== Clases ==== * Primera parte: Análisis de Algoritmos. * Segunda parte: Estructuras de Datos. * Tercera parte: Algoritmos Avanzados. */ ===== Práctico ===== * Primera parte: Análisis de Algoritmos. * {{ :algo2:main:2020.01.practico.pdf |Práctico 1.1.}} Ordenación elemental. * {{ :algo2:main:2020.02.practico.pdf |Práctico 1.2.}} Ordenación avanzada. * Video: [[https://www.youtube.com/watch?v=7Ncus_3__bY|Solución Ejercicio 1.2.3: k-ésimo elemento más chico]] * PDF: {{ :algo2:practico_1.2_ejercicio_3.pdf |Solución Ejercicio 1.2.3: k-ésimo elemento más chico}} * {{ :algo2:main:2020.03.practico.pdf |Práctico 1.3.}} Recurrencias y jerarquía de funciones. * Video: [[https://www.youtube.com/watch?v=9YglkTtsnj8|Solución Ejercicio 1.3.2: cima de un arreglo]] * PDF {{ :algo2:practico_1.3_ejercicio_2.pdf |Solución Ejercicio 1.3.2: cima de un arreglo}} * Segunda parte: Tipos y Estructuras de Datos. * {{ :algo2:main:2020.04.practico.pdf |Práctico 2.1.}} Tipos concretos. * {{ :algo2:main:2020.05.practico.pdf |Práctico 2.2.}} Tipos Abstractos de Datos, parte 1. * {{ :algo2:main:2020.06.practico.pdf |Práctico 2.3.}} Tipos Abstractos de Datos, parte 2. * Tercera parte: Técnicas de resolución de problemas. * {{ :algo2:main:2020.08.practico.pdf |Práctico 3.1.}} Algoritmos voraces. * {{ :algo2:main:2020.09.practico.pdf |Práctico 3.2.}} Algoritmos voraces sobre grafos. * {{ :algo2:main:2020.10.practico.pdf |Práctico 3.3.}} Backtracking. * {{ :algo2:main:2020.11.practico.pdf |Práctico 3.4.}} Programación Dinámica. * **Ejercicio entregable 1 (para regularidad): Implementación TAD Conjunto** * {{ :algo2:main:ejercicio_tad_conjunto.pdf |Enunciado}} * [[https://forms.gle/paM2oGHHrgzhzRHV7|Formulario de entrega]] * Videos: * [[https://www.youtube.com/watch?v=Tbz-GKL3Mlc|Operación add]] * [[https://www.youtube.com/watch?v=9t5_FaOPDjI|Operación inters]] * **Ejercicio entregable 2 (para regularidad): Fábrica de autos** * Fecha de entrega: lunes 22 de junio viernes 26 de junio hasta a las 23:59. * [[https://docs.google.com/document/d/1MWWWHsbu2naLLowoBlfREhEGOFTHA6OYJluX2kMxCaQ|Enunciado]] * [[https://forms.gle/NLFKAWm27Sx6Bit17|Formulario de entrega]] ===== Consultas ===== * [[https://docs.google.com/presentation/d/19OU_DwCrFUSx2R8Q92WcZrJYL1hDkrAF0qmfLbMKB0w/edit |Notas de Consulta - Parte 1 (Google Slides)]] * [[https://docs.google.com/presentation/d/16Hu7SdEBBAhIQQjAmpCJPBBuPYcjvLwE73vJIWlXX0A/edit |Notas de Consulta - Parte 2 (Google Slides)]] * [[https://docs.google.com/presentation/d/1hKEI4iUbmWiT_orFPbwGsoc01O05ZnbXLhQ1cVWhCPA/edit|Notas de Consulta - Parte 3 (Google Slides)]] Videos: * [[https://www.dropbox.com/s/pn9y7tpr1b4hkey/clasedeconsultaalgo220-04%20on%202020-04-20%2020%3A42.mp4?dl=0|Lunes 20 de abril]] * [[https://www.dropbox.com/s/uki654353tfnn1f/algo2clasedeconsulta22abril%20on%202020-04-22%2021%3A02.mp4?dl=0|Miércoles 22 de abril]] * [[https://drive.google.com/file/d/1bO4tUdl4YB1Qj9o14XsnmAfvCeXS3RZa/view|Lunes 27 de abril]] ([[https://drive.google.com/file/d/19vxvCwQSan6UoC0VnhdrGQZUWtUznf2m/view|chat]]) * [[https://drive.google.com/file/d/1RhDA3KavFabvKRg9X4fthaCA0qDs6qy9/view?usp=sharing|Miércoles 29 de abril]] ([[https://drive.google.com/file/d/1zVtdClLEvGwDl5rZxrsrVE_RJjAOYV5u/view?usp=sharing|chat]]) * [[https://drive.google.com/open?id=1NGdwKiqFNKZ09bBHGgweb0W35eRdJ53V|Lunes 4 de mayo]] (vía Andres Ferra) * Miércoles de mayo: no disponible. * [[https://drive.google.com/open?id=1iL7H_Vq09-CboJ-pAswWwr89jIxoEJhN|Lunes 11 de mayo]]([[https://drive.google.com/open?id=1DsV3qlMK3KCOK_q1cK8QbB0gQou3gUov|chat]]) * [[https://drive.google.com/file/d/1kWzP9bkXAyKda_Iyz7YQ7xhyi_M640P0/view?usp=sharing|Miercoles 13 de mayo]] ([[https://drive.google.com/file/d/12RFB9FEPSa997neq-6H_T-1Ki1saw6Pa/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1_-4nz-xZfVR25Qg6bqdz5427ibwPzHVj/view?usp=sharing|Lunes 18 de mayo]]([[https://drive.google.com/file/d/13OESXOE9I5HAl3r7Ix7WXELlx5PNG9zu/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/16-vE5yh7qG-wFsjXHvZQVcOF-xqpkxH8/view?usp=sharing|Miercoles 20 de mayo]]([[https://drive.google.com/file/d/19V8MqrpavJm5gBrrZi2I58VYttuyeLqs/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1Fbnh-d4AH8E0uwGvOb57gSqqLNZ8v8xI/view?usp=sharing|Miércoles 27 de mayo]] ([[https://drive.google.com/file/d/1YK99XA5WmcYWdLLErazrraYDXUAVSQJK/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1cKbsoe_JrqM_qdDzM-5qppMYNy2ZwTuY/view?usp=sharing|Lunes 1ro de junio]] ([[https://drive.google.com/file/d/1OBV_VnzHdi8CvDCmtoFY0DMnXqyjYos7/view?usp=sharing|chat]]) * Miércoles 3 de junio (falta) * [[https://drive.google.com/file/d/1oenQNt9Khx-PF1XeHK3ZpTpiGSoT5yDH/view?usp=sharing|Lunes 8 de junio]] ([[https://drive.google.com/file/d/1Vh0KmEt_UxUWj741n-JSvjvo2R-cKvlJ/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1wRP2hQMVdUn30qupq9_KhiMFP3xMyD9k/view?usp=sharing|Miércoles 10 de junio]] ([[https://drive.google.com/file/d/1UXCpzo8_llFFEgjuh1kK77dsboX9RQBk/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1xDvYTXH9_bqrmtrdqLQs9nI_ov2OnsgO/view?usp=sharing|Miércoles 17 de junio]] ([[https://drive.google.com/file/d/14VBtzfH6HPO0-uFADCqJCtLDFVsPXDcm/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1ZL2SjU5kNvfbFiSi_nJhUyblPMzW7uyP/view?usp=sharing|Lunes 22 de junio]] ([[https://drive.google.com/file/d/1K-j0WuKvLy2PZPfjyLt6wt3M81PlYLJx/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1vQisB2xj1uO5-_a-mR_94kB0nhGQxpWN/view?usp=sharing|Miércoles 24 de junio]] ([[https://drive.google.com/file/d/10ehZFUwk7thrwKkvqXLtPh8RVuglJ_oP/view?usp=sharing|chat]]) *[[https://drive.google.com/file/d/1nCcAebPCWtxTdU8EcXrJwcAjILbL4Lji/view?usp=sharing|Lunes 29 de junio]] ([[https://drive.google.com/file/d/1zuwG5SY3WUHIi7vVjPxrhj-L1IqISJQX/view?usp=sharing|chat]]) * Resolución del ejercicio entregable (fábrica de autos). * [[https://drive.google.com/file/d/1Wbz5FMb9UgDLXNbrDp3hA-34rfkziKRd/view?usp=sharing|Miércoles 1ro de julio]] ([[https://drive.google.com/file/d/12iZ8en4D_VzophtDdHugXhKa3Dn3RMNY/view?usp=sharing|chat]]) * Resolución de examen final de práctica. * [[https://drive.google.com/file/d/1hA0J6t0Q9KjCzNAsUuhjRrdSLQSqLmbh/view?usp=sharing|Lunes 6 de julio]] ([[https://drive.google.com/file/d/1SusDmlstOawI81qGft8LW0nV4aAVOOIP/view?usp=sharing|chat]]) * Recorrida de grafos: DFS y BFS. * [[https://drive.google.com/file/d/1tynJ8wJpfyNoU1Y1D_vTwvWDbkg71wda/view?usp=sharing|Lunes 13 de julio]] ([[https://drive.google.com/file/d/1E-4BZS4J1pzRGxXpnHskr0QzZmdJd1QD/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1mdHyW4TIgVe7wsEDismCK0ZNFGtnrh2t/view?usp=sharing|Lunes 20 de julio]] ([[https://drive.google.com/file/d/1beXJfqBXYFbzpOZaGBkmvu_0vCqs812j/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1XiqKPN4DO1QeDk9spdPr3sjqVhlywx07/view?usp=sharing|Lunes 7 de diciembre]] ([[https://drive.google.com/file/d/14OjkxHkUqwtUTQzZ39t3gWuJ28KGu6kn/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1nO_FR9OMjkFS4VN7NYdfNRWzcgNPDcTW/view?usp=sharing|Viernes 5 de febrero]] ([[https://drive.google.com/file/d/1mXqhJ_rTjmicbSL36gNNiS9JSB_N959c/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1ml9AwDDnNHbJ5dcmszOmpR9FLM1KuFAb/view?usp=sharing|Jueves 18 de febrero]] ([[https://drive.google.com/file/d/1wpp21g_xdjwBtpATl3TfDn0TLYx2qw7D/view?usp=sharing|chat]]) * [[https://drive.google.com/file/d/1tymmaIpKcM0ZUIwfP5heyJ3S6-hPGVrS/view?usp=sharing|Jueves 4 de marzo]] ([[https://drive.google.com/file/d/11D_QlflfuHGgnMK3_eiGB2z6w8OEsi2C/view?usp=sharing|chat]]) ===== Laboratorio ===== /* Los grupos serán de 2 (dos) personas. Mínimo 2, máximo 2. O sea, 2 :-). ** IMPORTANTE ** Inscripción. Llenar el formulario. https://docs.google.com/forms/d/e/1FAIpQLSdm12LTHpbbmEPLRzBsE6uTVGWuuG-dAq-vhebS0LM8rSGdSw/viewform */ * **Ejercicios para entregar** * Ejercicio 1: implementación función cima * {{ {{ :algo2:main:ejercicio_entregable_1.zip | Ejercicio entregable 1}} * Video: [[https://drive.google.com/open?id=1-E08AEbmw6gPAno2jN1w9J2ndIJvLQi2 | Aclaración del ejercicio]] * **Fecha de entrega**: antes del 04/04/2020 23:59:00 * Entrega individual a traves del [[ https://forms.gle/mcuZcqtjkZitpwNcA |formulario para la entrega]] * Proyecto 1: TAD Conjunto finito * Estre proyecto es **CONDICIÓN NECESARIA** para la regularidad de la materia. La entrega es **INDIVIDUAL** * Fecha de entrega: 11/05 23:59:59 * Enunciado del proyecto: {{ :algo2:main:proy01_2020.zip | Proyecto 1}} * [[https://forms.gle/n2t3xbdLbXibQYVH6 | Formulario para entrega]] * [[https://drive.google.com/file/d/1tmXIOJqICUBQCfdyDUWjGhBeTy1EKt3D/view?usp=sharing | Presentación del Proyecto]], [[https://drive.google.com/open?id=1hd3uyzsSs5FtVHE1FvhQxiEGlBz1e3ZA| chat]] * **Tutoriales** * [[ https://drive.google.com/open?id=1FQauNJrsLtqd86t1PyCmqgVeFynAkK7A | Como generar una maquina virtual con ubuntu]] * [[https://drive.google.com/open?id=1f-mRDo5T4DepNCioZdHvui57TEtaxQhQ | Como compartir código con los docentes de laboratorio]] * **Herramientas:** * Gdb: * Filmina Gdb introductorio: [[https://drive.google.com/open?id=1XSperdoS3aue-omF06fgnaS7cFHHhNmR| Introducción a Gdb]] * Video Gdb introductorio: [[https://www.youtube.com/watch?v=gaIcpmOYGu8| Introducción a Gdb]] * Video resolución ejercicio 2 lab 1: [[https://www.youtube.com/watch?v=eZyybmh5QJg | Resolución ejercicio 2 laboratorio 1 con Gdb]] * Gdb cheatsheet: {{ :algo2:main:gdb_cheatsheet.pdf | Gdb cheatsheet }} * Punteros: * [[https://www.youtube.com/watch?v=ocuEnhhj1h0&list=PLYJCtiR1srqAiwZCpzKhVGoPyWUu0APmg | Lista de reproducción]] * {{:algo2:main:punteros.pdf | Filminas}} * **Laboratorios** * {{ :algo2:main:lab00-2020.zip | Laboratorio 0 - Arreglos y Estructuras en C}} * {{ :algo2:main:lab01.zip | Laboratorio 1 - Algoritmos de ordenación}} * {{ :algo2:main:lab02_2020.zip |Laboratorio 2 - Introducción a punteros y arreglos}} * {{ :algo2:main:lab03_2020.zip | Laboratorio 3 - TADS }} * {{ :algo2:main:lab04_2020.zip |Laboratorio 4 - Diccionarios con ABB}}, [[https://forms.gle/pVnaqP4ackmY6ocB9 | Formulario para la entrega (25/05 23:59:00) ]] * {{ :algo2:main:lab05_2020.pdf | Laboratorio 5 - TAD Queue}} * {{ :algo2:main:lab06-dijkstra.zip | Laboratorio 6 - Algoritmo de Dijkstra }}, [[https://forms.gle/V7zy3CRWpqVs3KXZA | Formulario para la entrega (08/06 23:59:59) ]](**INDIVIDUAL**) (**CONDICIÓN PARA REGULARIDAD**) * [[https://drive.google.com/file/d/1zQe6j_I9dn4zqrlSDD1bPqm7_WWDvlkB/view?usp=sharing | Laboratorio 7: Problema de la mochila]], [[https://forms.gle/zYMQDMdt8BdbNCCb6 | Formulario para entrega (25/06 23:59:59 hs)]], (**INDIVIDUAL**)(**CONDICION PARA REGULARIDAD**)