computacion

2
Universidad Central de Venezuela Facultad de Ciencias Escuela de Computaci´ on Licenciatura de Computaci´ on Plan de Estudios 2000 Componente B´ asico Materias B´ asicas Fecha de actualizaci´ on: Noviembre 2014 ALGORITMOS Y ESTRUCTURAS DE DATOS UC HT HP Componente Modalidad odigo Requisitos 5 4 2 Profesional asica 6202 Algoritmos y Programaci´ on Fundamentaci´ on: En la Ciencia de la Computaci´ on es b´ asico poseer destrezas en el ´ area de la algor´ ıtmica y la programaci´ on, por lo cual es necesario conocer y manipular distintas herramientas que permitan realizar el proceso de construcci´ on de programas de manera sistem´ atica y haciendo un uso eficiente de los recursos computacionales. Por ello se ha dise˜ nado el curso Algo- ritmos y Estructuras de Datos, cuyo prop´ osito es proveer al estudiante de nuevas herramientas y t´ ecnicas que le permitan expresar soluciones algor´ ıtmicas eficientes a problemas del mundo real; dicha eficiencia se mide en t´ erminos del tiempo de procesamiento y del consumo de memoria de las estructuras. El curso es de car´ acter te´ orico-pr´ actico, involucrando a su vez el desarrollo de proyectos que permitan poner en pr´ actica los conocimientos impartidos. El curso se centra en el estudio de los diversos mecanismos provistos por los lenguajes de programaci´ on para la definici´ on y manipulaci´ on de datos. Estos mecanismos permiten la definici´ on de estructuras de datos complejas para ser usadas en las soluciones algor´ ıtmicas de problemas diversos. Objetivos: Al terminar el curso el estudiante debe ser capaz de: Conocer las estructuras de datos est´ aticas y din´ amicas que proveen los lenguajes de programaci´ on actuales. Dise˜ nar y utilizar estructuras de datos apropiadas para la resoluci´ on de un problema determinado. Realizar un an´ alisis de complejidad en tiempo/espacio de los algoritmos propuestos como soluci´ on a los problemas planteados. Conocer los algoritmos eficientes para el procesamiento de las estructuras de datos din´ amicas que ofrecen los lenguajes de programaci´ on modernos. Entender que los diversos tipos de datos forman una jerarqu´ ıa de clases dentro de un enfoque orientado a objetos. Contenidos Tem´ aticos: 1. Recursi´ on y Backtracking Recursividad. Ejemplos de algoritmos recursivos. Enfoque divide y conquista. T´ ecnica de Backtracking. (2 semanas) 2. Complejidad Introducci´ on a la complejidad. Notaci´ on O. Concepto de Complejidad en Tiempo y Espacio. Complejidad en Tiempo de Algoritmos Iterativos y Recursivos. (1 semanas) 3. Tipos de Datos Tipos de datos simples y compuestos. Complejidad en Espacio de los tipos de datos. F´ ormulas de Acceso. Tipo de dato Apuntador (2 semanas) 4. Lista, Pila, Cola y Otras Estructuras Listas: Implementaciones. Pila: Implementaciones y aplicaci´ on en backtracking. Cola, Dipolo: Implementaciones. (3 semanas)

Upload: uniondiez-calixto-fernandez

Post on 18-Dec-2015

216 views

Category:

Documents


2 download

DESCRIPTION

-

TRANSCRIPT

  • Universidad Central de VenezuelaFacultad de CienciasEscuela de ComputacionLicenciatura de Computacion

    Plan de Estudios 2000Componente Basico

    Materias BasicasFecha de actualizacion: Noviembre 2014

    ALGORITMOS Y ESTRUCTURAS DE DATOSUC HT HP Componente Modalidad Codigo Requisitos

    5 4 2 Profesional Basica 6202 Algoritmos y Programacion

    Fundamentacion:En la Ciencia de la Computacion es basico poseer destrezas en el area de la algortmica y la programacion, por lo cual

    es necesario conocer y manipular distintas herramientas que permitan realizar el proceso de construccion de programasde manera sistematica y haciendo un uso eficiente de los recursos computacionales. Por ello se ha disenado el curso Algo-ritmos y Estructuras de Datos, cuyo proposito es proveer al estudiante de nuevas herramientas y tecnicas que le permitanexpresar soluciones algortmicas eficientes a problemas del mundo real; dicha eficiencia se mide en terminos del tiempode procesamiento y del consumo de memoria de las estructuras. El curso es de caracter teorico-practico, involucrando asu vez el desarrollo de proyectos que permitan poner en practica los conocimientos impartidos. El curso se centra en elestudio de los diversos mecanismos provistos por los lenguajes de programacion para la definicion y manipulacion de datos.Estos mecanismos permiten la definicion de estructuras de datos complejas para ser usadas en las soluciones algortmicasde problemas diversos.

    Objetivos:Al terminar el curso el estudiante debe ser capaz de:

    Conocer las estructuras de datos estaticas y dinamicas que proveen los lenguajes de programacion actuales. Disenar y utilizar estructuras de datos apropiadas para la resolucion de un problema determinado. Realizar un analisis de complejidad en tiempo/espacio de los algoritmos propuestos como solucion a los problemas

    planteados.

    Conocer los algoritmos eficientes para el procesamiento de las estructuras de datos dinamicas que ofrecen los lenguajesde programacion modernos.

    Entender que los diversos tipos de datos forman una jerarqua de clases dentro de un enfoque orientado a objetos.Contenidos Tematicos:

    1. Recursion y BacktrackingRecursividad. Ejemplos de algoritmos recursivos. Enfoque divide y conquista. Tecnica de Backtracking.(2 semanas)

    2. ComplejidadIntroduccion a la complejidad. Notacion O. Concepto de Complejidad en Tiempo y Espacio. Complejidad enTiempo de Algoritmos Iterativos y Recursivos.(1 semanas)

    3. Tipos de DatosTipos de datos simples y compuestos. Complejidad en Espacio de los tipos de datos. Formulas de Acceso. Tipo dedato Apuntador(2 semanas)

    4. Lista, Pila, Cola y Otras EstructurasListas: Implementaciones. Pila: Implementaciones y aplicacion en backtracking. Cola, Dipolo: Implementaciones.(3 semanas)

  • Universidad Central de VenezuelaFacultad de CienciasEscuela de ComputacionLicenciatura de Computacion

    Plan de Estudios 2000Componente Basico

    Materias BasicasFecha de actualizacion: Noviembre 2014

    5. Estructuras MultienlazadasEstructuras Multienlazadas: lista de apuntadores, listas de listas, matrices esparcidas, etc.(1 semana)

    6. Arboles generales y binariosArboles generales. Recorridos en Preorden, postorden e inorder. Arboles binarios y algoritmos basicos.(2 semanas)

    7. Arboles de Busqueda, AVL y rojo-NegroArboles de Busqueda. Arboles de busqueda balanceados: AVL. (Implementacion y Complejidad).(2 semana)

    Evaluacion:

    Examen Teorico #1 (15%) : Tema 1, 2 Examen Teorico #2 (20%) : Tema 3, 4 Examen Teorico #3 (25%) : Tema 5, 6, 7 2 Parciales Practicos (5% c/u) 3 Proyectos (10% c/u)Referencias

    AHO, Alfred. HOPCROFT, John y ULLMAN, Jeffrey. Estructuras de Datos y Algoritmos, 1st ed., Pearson - AddisonWesley, Mexico, 1988.

    DEITEL, Harvey M. y Deitel, Paul J. Como programar en C++. 4ta ed., Pearson, S.A., Madrid, Espana, 2003.

    JOYANES, Luis. Programacion en C++. Algoritmos, estructuras de datos y objetos. 2da ed., McGraw-Hill / Inter-americana de Espana, S.A.U., Madrid, Espana, 2006.

    NYHOFF, Larry R. TADs, Estructuras de datos y resolucion de problemas con C++. 2da ed., Pearson, S.A., Madrid,Espana, 2006.

    SEDGEWICK, Robert. Algorithms in C++. Addison Wesley. 2006.

    SISA, Alberto J. Estructuras de datos y Algoritmos, con enfasis en POO. Prentice Hall, 2002.

    STROUSTRUP, Bjarne. El Lenguaje de Programacion C++. Pearson, S.A., Madrid, Espana, 2002.

    WIRTH, Niklaus. Algoritmos y Estructuras de Datos, 1era ed., Prentice-Hall Hisp. S.A., Mexico, 1987.

    GDAYED- Noviembre 2014