Estructura de Datos y Algoritmos I

DATOS GENERALES

Código ICCD343
Pensum 2023
Horas semanales 9
Tipo Obligatoria
Asignaturas pre-requisitos ICCD244 Programación II
Asignaturas co-requisitos Ninguna
Unidad de organización curricular Unidad Profesional

RESULTADOS DE APRENDIZAJE

De conocimiento
Explicar las definiciones básicas de las estructuras de datos y los algoritmos, así como su  aplicación en la resolución de problemas complejos. Además, Reconocer las características de eficiencia y aplicabilidad de diversas estrategias algorítmicas básicas para determinar un abordaje adecuado que permita resolver un problema de manera óptima.
De destrezas Reconocer caracterizaciones abstractas, así como el diseño e implementación de estructuras de datos tales como arrays, listas vinculadas, pilas, colas, árboles de búsqueda binarios, heaps y grafos junto con los algoritmos que usan de tales estructuras, incluidos algoritmos para ordenar, buscar y administrar la memoria. Se analizarán los algoritmos para determinar su comportamiento asintótico en términos de complejidad temporal y espacio en  la implementación de programas que incorporen estas estructuras de datos y algoritmos.
De valores y actitudes Aplicar la ética profesional y trabajar en equipo para facilitar la construcción de programas óptimos. Actuar con ética profesional, responsabilidad social y rigurosidad científica en la generación de algoritmos y el uso de las estructuras de datos,  demostrando respeto, responsabilidad, dedicación y colaboración.

CONTENIDO

Capítulo 1 Fundamentos de Estructuras de Datos y Algoritmos
  1. Algoritmos básicos;
  2. Análisis de los algoritmos;
  3. Notación asintótica y Complejidad Algorítmica;
  4. Algoritmos cuadráticos de ordenamiento de peor caso (Bubble Sort, Insertion Sort, Selection Sort, Bucket Sort, Counting Sort, Radix Sort );
  5. Algoritmos de ordenamiento de caso promedio o peor caso (O(N log N)): MergeSort, QuickSort, heapSort);
  6. Búsqueda lineal y búsqueda binaria, y
  7. Hashing y Resolución de Colisiones.
Capítulo 2 Tipos Abstracto de Datos (TADs)
  1. Tipos Abstractos de Datos (TADs);
  2. Arrays unidimensionale y bidimensional de tamaño fijo y redimensionable;
  3. Listas enlazadas (simples, Circulares, y Doblemente enlazadas);
  4. Pilas (TAD Pila, y sus aplicaciones: Evaluación de expresiones Aritméticas; su implementación mediante arrays (tamaño fijo y redimensionable), y listas enlazadas.  Comparación de la eficiencia de su implementación mediante  Array y listas enlazadas y su implementación sobre otros escenarios);
  5. Colas (el TAD Cola, implementación mediante Arrays: Tamaño fijo y redimensionable y su ineficiencia, implementación con Array circulares, y su implementación con Listas enlazadas), y
  6. Clonación de estructuras de datos
Capítulo 3 Recursión
  1. Definición y funcionamiento interno de la recursión;
  2. Revisión de problemas modelo, y
  3. Uso de pilas para simular recursión
Capítulo 4 Arboles: Arboles binarios, Arboles binarios de búsqueda, Arboles binarios balanceados (AVL); Arboles B y B+
  1. Representación de árboles generales como árboles binarios;
  2. Recorrido en árboles binarios;
  3. Árboles Binarios de búsqueda;
  4. Árboles AVL;
  5. Árboles B, y
  6. Árboles B+.

Back to top