Universidad Central de Venezuela
Facultad de Ciencias
Escuela de Computacin
Licenciatura en Computacin
ALGORITMOS Y ESTRUCTURAS DE DATOS
UC HT HP HL Semestre Cdigo Requisitos ltima
Actualizacin
5 4 2 -- II 6202 Algoritmos y Septiembre
Programacin 2017
Fundamentacin
En la ciencia de la computacin es bsico poseer destrezas en el rea de la algortmica y la
programacin, por lo cual es necesario conocer y manipular distintas herramientas que permitan
realizar el proceso de construccin de programas de manera sistemtica y haciendo un uso
eficiente de los recursos computacionales. Por ello se ha diseado el curso Algoritmos y
Estructuras de Datos, cuyo propsito es proveer al estudiante de nuevas herramientas y tcnicas
que le permitan expresar soluciones algortmicas eficientes a problemas del mundo real; dicha
ciencia se mide en trminos del tiempo de procesamiento y del consumo de memoria de las
estructuras. El curso es de carcter terico-prctico, involucrando a su vez el desarrollo de
proyectos que permitan poner en prctica los conocimientos impartidos. El curso se centra en el
estudio de los diversos mecanismos provistos por los lenguajes de programacin para la definicin
y manipulacin de datos. Estos mecanismos permiten la definicin de estructuras de datos
complejas para ser usadas en las soluciones algortmicas de problemas diversos.
Objetivos
Al finalizar el curso el estudiante:
1. Conocer las estructuras de datos estticas y dinmicas que proveen los lenguajes de
programacin actuales.
2. Podr disear y utilizar estructuras de datos apropiadas para la resolucin de un problema
determinado.
3. Estar en capacidad de realizar un anlisis de complejidad en tiempo/espacio de los algoritmos
propuestos como solucin a los problemas planteados.
4. Conocer los algoritmos eficientes para el procesamiento de las estructuras de datos dinmicas
que ofrecen los lenguajes de programacin modernos.
5. Entender que los diversos tipos de datos forman una jerarqua de clases dentro de un enfoque
orientado a objetos.
Contenidos temticos
1. Tipos de Datos
Tipos de datos simples y compuestos. Complejidad en Espacio de los tipos de
datos. Frmulas de Acceso. Tipo de dato Apuntador
2. Complejidad
Introduccin a la complejidad. Notacin O. Concepto de Complejidad en Tiempo y
Espacio. Complejidad en Tiempo de Algoritmos Iterativos y Recursivos.
3. Lista, Pila, Cola y Otras Estructuras
Listas: Implementaciones. Pila: Implementaciones y aplicacin en backtracking.
Cola, Dipolo: Implementaciones.
4. Estructuras Multienlazadas
Estructuras Multienlazadas: lista de apuntadores, listas de listas, matrices
esparcidas, etc.
5. Recursin y Backtracking
Recursividad. Ejemplos de algoritmos recursivos. Enfoque divide y conquista.
Tcnica de Backtracking.
6. rboles generales y binarios
rboles generales. Recorridos en preorden, postorden e inorder. rboles binarios
y algoritmos bsicos.
7. rboles de Bsqueda, AVL
rboles de Bsqueda. rboles de bsqueda balanceados: AVL. (Implementacin y
Complejidad). Montculo.
Evaluacin:
Examen Terico #1 (20%)
Examen Terico #2 (20%)
Examen Terico #3 (20%)
3 Quices (3.33% c/u)
3 Proyectos (10% c/u)
Referencias
MALIK, D.S. Data Structures using C++. Course Technology. 2010
HOROWITZ Hellis. Fundamentals of Data Structures in C++. 2nd [Link] Press,
Summit, New Jersey, 2007.
DROZDEK, Adam. Data Structures and Algorithms in C++. 3rd edition. Thomson Course
Technology. 2006.
AHO, Alfred. HOPCROFT, John y ULLMAN, Jeffrey. Estructuras de Datos y Algoritmos, 1st
ed., Pearson - Addison Wesley, Mexico, 1988.
DEITEL, Harvey M. y Deitel, Paul J. Cmo programar en C++. 4ta ed., Pearson, S.A., Madrid,
Espaa, 2003.
JOYANES, Luis. Programacin en C++. Algoritmos, estructuras de datos y objetos. 2da ed.,
McGraw-Hill / Interamericana de Espaa, S.A.U., Madrid, Espaa, 2006.
NYHOFF, Larry R. TADs, Estructuras de datos y resolucin de problemas con C++. 2da ed.,
Pearson, S.A., Madrid, Espaa, 2006.
SEDGEWICK, Robert. Algorithms in C++. Addison Wesley. 2006.
SISA, Alberto J. Estructuras de datos y Algoritmos, con nfasis en POO. Prentice Hall, 2002.
STROUSTRUP, Bjarne. El Lenguaje de Programacin C++. Pearson, S.A., Madrid, Espaa,
2002.
WIRTH, Niklaus. Algoritmos y Estructuras de Datos, 1era ed., Prentice-Hall Hisp. S.A.,
Mxico, 1987.
GDAYED- Septiembre 2017