UNIVERSIDAD DE LOS LLANOS VICERRECTORIA ACADEMICA SECRETARIA TECNICA DE ACREDITACION FACULTAD: PREGRADO: POSTGRADO: Nro 1 2 3 4 5 6 7 8 9 CIENCIAS BÁSICAS E INGENIERÍA CARACTERISTICAS DENOMINACION DEL CURSO: CODIGO: AREA: CURSO PROGRAMATICO: PERIODO ACADEMICO: NARURALEZA CARÁCTER: CREDITOS: TOTAL INTENSIDAD HORARIA Intensidad de trabajo presencial Intensidad de trabajo independiente INFORMACION ESTRUCTURAS DE DATOS 601334 PROFESIONAL SEMESTRE TERCERO OBLIGATORIO TEORICO-PRÁCTICO 3 6 H0RAS 12 HORAS 10. JUSTIFICACION: La información que se procesa en la computadora es un conjunto de datos, que pueden ser simples o estructurados. Los datos simples son aquellos que ocupan sólo un localidad de memoria, mientras que los estructurados son un conjunto de casillas de memoria a las cuales hacemos referencia mediante un identificador único. Debido a que por lo general tenemos que tratar con conjuntos de datos y no con datos simples que por sí solos nos sirven de mucho, es necesario tratar con estructuras de datos adecuadas a cada necesidad. Las estructuras de datos son una colección de datos cuya organización se caracteriza por las funciones de acceso que se usan para almacenar y acceder a elementos individuales de datos. Una estructura de datos se caracteriza por lo siguiente: -Pueden descomponerse en los elementos que la forman. -La manera en que se colocan los elementos dentro de la estructura afectará la forma en que se realicen los accesos a cada elemento. -La colocación de los elementos y la manera en que se accede a ellos puede ser encapsulada. El estudio de las Estructuras de Datos se hará desde diversos puntos de vista: diseño de estructuras en respuesta a necesidades específicas, encapsulamiento de los tipos de datos usándolos en base a su especificación (propiedades funcionales) y no a su implementación y estudio de los principales tipos, tanto elementales como no elementales, dividiendo éstos últimos en estructuras lineales (listas, pilas, colas,...) y no lineales (árboles, grafos,...), analizándolos primero desde el punto de vista teórico pero sin perder de vista sus aplicaciones prácticas. 11. PROPOSITOS: UNIVERSIDAD DE LOS LLANOS VICERRECTORIA ACADEMICA SECRETARIA TECNICA DE ACREDITACION Comprender el concepto de estructura de datos Plantear soluciones a problemas con vectores y matrices Conocer las funciones miembro de las clases pila y cola Plantear soluciones a problemas con pila y cola Conocer los conceptos de nodo como parte fundamental de una lista encadenada Plantear soluciones a problemas con listas Comprender el concepto de recursividad y su uso Definir los conceptos de arboles Aplicar las diferentes opciones de los arboles Comprender el concepto y la representación de los grafos 12. COMPETENCIAS QUE DESARROLLARA EL CURSO: Desarrollar en el estudiante hábitos de pensamiento lógico que le permitan identificar un problema y solucionarlo basándose en las estructuras de datos utilizadas en la programación como pilas, colas, listas encadenadas, árboles y grafos; el conocimiento de las funciones y servicios para cada tipo de estructuras. Utilización de la recursividad en la programación. 13. DIMENSIONES DE LAS COMPETENCIAS QUE DESARROLLA: COGANITIVA PRAXIOLOGICA ACTITUDINAL COMUNICATIVA Comprenda los tipos de apuntadores Conozca las ventajas y desventajas de las diferentes opciones Reconozca las características delas clases de Lista Determine en que momento es mejor utilizar una lista doblemente encadenada Determinar si una solución requiere el uso de una función recursiva Posea la habilidad para plantear esquemas lógicos con árboles Maneje los conceptos y formas de encadenamiento de múltiples hijos a un nodo Reconozca características Grafo de las un Maneje los diferentes tipos de apuntadores Asigne y libere memoria para diferentes tipos de datos Maneje las diferentes operaciones de las pilas y colas Domine las diferentes opearciones en una lista encadenada Seguir la prueba de escritorio de un programa con funciones recursivas Determine cual de los recorridos es el mayor conveniencia para la solución de un problema Ordene y balancee los árboles Domine las formas de recorrer un grafo Explique la diferencia de memoria estática y dinámica Plantee soluciones a problemas que requieran estructuras de datos Determine el caso base, que finaliza la función recursiva Explicar con claridad las características de una árbol binario UNIVERSIDAD DE LOS LLANOS VICERRECTORIA ACADEMICA SECRETARIA TECNICA DE ACREDITACION 14. UNIDADES TEMATICAS: UNIDAD TEMATICA ESTRATEGIA PEDAGIGICA RECURSOS PEDAGOGICOS TIEMP PRES. TIEMP. INDEP. UNIVERSIDAD DE LOS LLANOS VICERRECTORIA ACADEMICA SECRETARIA TECNICA DE ACREDITACION Estructuras de Datos Introducción Manejo de Apuntadores Introducción Concepto de apuntador Apuntador a diferentes tipos de datos Operadores de Apuntadores Asignación dinámica de Memoria Asignar y liberar memoria Ventaja manejo dinámico de memoria Estructuras : Pilas Creación y manejo de la clase Pila Funciones miembro InsertarPila, RetirarPila, BuscarPila Estructuras : Colas Creación y manejo de la clase Cola Funciones miembro InsertarCola, RetirarCola, BuscarCola Estructuras : Listas Encadenadas Concepto de Nodo Definición de una Lista Conocimiento de Inicio y Final de Lista Insertar un nodo en una Lista Extraer un nodo de una Lista Mantener una Lista Ordenada Buscar un nodo particular en una Lista Recorrer totalmente una lista Concatenar dos listas Listas Circulares y Doblemente encadenadas Concepto de lista circular Nodos con dos apuntadores Beneficios de la lista doblemente encadenada Recursividad Definición y características Ventajas y desventajas Comparación con la solución lineal Rapidez y disminución de código Tipos de Recursividad y Funciones Recursivas Recursión Lineal, Binaria y multiple Planteamiento soluciones recursivas Estructura : Arbol Binario Definición y conceptos básicos Creación de la clase tipo árbol binario Exposición de contenidos teóricos. Desarrollo de los contenidos mediante la realización de ejercicios. Implementació n individual de supuestos prácticos en laboratorio. UNIVERSIDAD DE LOS LLANOS VICERRECTORIA ACADEMICA SECRETARIA TECNICA DE ACREDITACION Formas de insertar un nodo Arboles isomórfos Arboles sencillamente encadenados Recorridos de Arboles Binarios Preorden, Inorden y Posorden Recorridos Lineales y recursivos Arbol Binario Dirigido Arboles con encadenamiento al padre Arbol dirigido izquierdo y derecho Arboles Binarios Ordenados Insertar nodos de forma ordenada Manejo de información Balanceo de Arboles Definición y conceptos básicos Implementación Vectores dinámicos Lista de hijos Balanceo Arboles B+ Definición y conceptos básicos Implementación Grafos 15. SISTEMA DE EVALUACION La evaluación se diseñará de modo que permita reflejar hasta que punto se ha asimilado los conceptos y de que manera evidencia el estudiante la relación de dichos conceptos en la solución de un problema. Primer Parcial Segundo parcial Examen Final Quices TOTAL 20% 20% 15% 10% ----65% Trabajos de lab. 20% Proyecto final 15% -----35% Los parciales y el examen final se harán en forma escrita. El proyecto final se realizará en grupos de máximo tres (3) personas. 16. FUENTES BIBLIOGRAFICAS: 16.1 FUENTES DE CONSULTA BASICA - BECERRA, Cesar. Programación en C. BECERRA, Cesar. Estructuras de datos en C++. CAIRO, Osvaldo. Estructuras de datos DETIEL & DETIEL. Como programar en C y C++. HEILEMAN, Gregory L. Estructura de Datos, Algoritmos y Programación Orientada a Objetos. JOYANES, Luis y ZAHONERO Martínez, Ignacio. Estructura de Datos JOYANES, Luis. Programación en C ++ KRUSE, Robert L. Estructura de datos y Diseño de Programas MARTINEZ R y QUIROGA Elda. Estructuras de Datos, referencia práctica con orientación a objetos SCHILDT, Herbert. Manual de programación en C y C++. SISA, Alberto Jaime. Estructura de Datos y Algoritmos con énfasis en programación orientada a objetos UNIVERSIDAD DE LOS LLANOS VICERRECTORIA ACADEMICA SECRETARIA TECNICA DE ACREDITACION 16.2 FUENTES DE CONSULTA PARA PROFUNDIZACION: Algoritmos y Estructuras de Datos Niklauss Wirth Prentice Hall Estructura de Datos y Organización de Archivos Loomis Prentice Hall Estructura de Datos y algoritmos Mark Allen Weiss Addison Wesley 17. RECURSOS Y MEDIOS TECNOLOGICOS: Salas de Cómputo Software de simulación de estructuras de datos 18. RECURSOS HUMANOS (Equipo profesional que participará en el desarrollo del curso) Ingeniero de Sistemas especializado en Ingeniería de Software Docente Tiempo Completo