UA
   PROGRAMACIÓN Y ESTRUCTURAS DE DATOS    Año académico       Versión PDF.
Código9163Descripción
Crdts. Teor.4,5ESTRCTURA DE DATOS I ALGORITMO DE MANIPULACION. TIPOS ABSTRACTOS DE DATOS. DISSEÑO RECURSIVO.
Crdts. Pract.4,5
A efectos de intercambios en programas de movilidad, la carga de esta asignatura equivale a 11,25 ECTS.


Departamentos y Áreas
DepartamentosÁreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
LENGUAJES Y SISTEMAS INFORMÁTICOSLENGUAJES Y SISTEMAS INFORMATICOS4,54,5


Estudios en los que se imparte
Ingeniería en Informática - plan 2001


Pre-requisitos
FUNDAMENTOS DE PROGRAMACIÓN I
FUNDAMENTOS DE PROGRAMACIÓN II


Incompatibilidades de matrícula por contenidos equivalentes
Sin Datos


Matriculados (2009-10)
Grupo (*)Número
1 37
2 29
3 3
TOTAL 69
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS
(*) 3: GRUPO 3 Valenciano - VAL


Ofertada como libre elección (2009-10)
Sin departamento
Consulta Gráfica de Horario
A efectos de intercambios en programas de movilidad, la carga de esta asignatura equivale aPincha aquí


Horario (2009-10)
ModoGrupo (*)Día inicioDía finDíaHora inicioHora finAula
CLASE TEÓRICA 1 14/09/2009 23/12/2009 L 10:00 11:30 A2/D27
  1 01/02/2010 21/05/2010 L 10:00 11:30 A2/D27
  2 14/09/2009 23/12/2009 L 15:00 16:30 A2/D27
  2 01/02/2010 21/05/2010 L 15:00 16:30 A2/D27
  3 14/09/2009 23/12/2009 L 08:30 10:00 A2/D25
  3 01/02/2010 21/05/2010 L 08:30 10:00 A2/D25
PRÁCTICAS CON ORDENADOR 1 14/09/2009 23/12/2009 M 11:00 12:30 0016P1002
  1 01/02/2010 21/05/2010 M 11:00 12:30 0016P1002
  2 14/09/2009 23/12/2009 M 12:30 14:00 0016P1002
  2 01/02/2010 21/05/2010 M 12:30 14:00 0016P1002
  3 14/09/2009 23/12/2009 M 14:00 15:30 0016P1002
  3 01/02/2010 21/05/2010 M 14:00 15:30 0016P1002
  4 14/09/2009 23/12/2009 X 17:00 18:30 0016P1002
  4 01/02/2010 21/05/2010 X 17:00 18:30 0016P1002
(*) CLASE TEÓRICA
1: GRUPO 1 - CAS
2: GRUPO 2 - CAS
3: GRUPO 3 Valenciano - VAL
(*) PRÁCTICAS CON ORDENADOR
1: GRUPO Prácticas de PED - CAS
2: GRUPO Prácticas de PED - CAS
3: GRUPO Prácticas de PED - CAS
4: GRUPO Prácticas de PED - CAS


Grupos de matricula (2009-10)
Grupo (*)CuatrimestreTurnoIdiomaDistribución (letra nif)
1 Anual M CAS desde A hasta M
2 Anual T CAS desde N hasta Z
3 Anual M VAL desde - hasta -
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS
(*) 3: GRUPO 3 Valenciano - VAL


Objetivos de las asignatura / competencias (2009-10)
El objetivo principal en esta asignatura es que el alumno:

- Conozca los mecanismos de abstracción y su importancia para la resolución de problemas.

- Comprenda la necesidad de separación entre los niveles de especificación, implementación y uso.

- Conozca los tipos de datos más usuales en programación, sus realizaciones más comunes y su utilidad. Concretamente, se espera que el alumno:

- Sea capaz de organizar un determinado volumen de datos de la forma más racional posible en función de los requerimientos del problema a resolver.

- Sea capaz de escoger entre distintas implementaciones alternativas de una abstracción de datos, y razonar sobre la solución escogida en cuanto a coste se refiere.


Contenidos teóricos y prácticos (2009-10)
Contenidos teóricos

El programa de teoría propuesto se compone de cinco núcleos:

1. Introducción a los Tipos Abstractos de Datos:
- Noción de complejidad.
- Cotas de complejidad.
- Notación asintótica.
- Obtención de cotas de complejidad.

2. Los tipos lineales:
- Introducción a los tipos abstractos de datos.
- Vectores.
- Listas.
- Pilas.
- Colas.

3. El tipo árbol:
- Definiciones generales.
- Árboles binarios.
- Árboles de búsqueda: Árboles binarios de búsqueda, árboles AVL, árboles 2-3, árboles 2-3-4, árboles rojos-negros, árboles B.

4. El tipo conjunto:
- Definiciones generales.
- Diccionario: tabla de dispersión, trie, árboles de búsqueda digitales.
- Cola de prioridad: montículo, cola de prioridad doble, árbol izquierdista o leftist.

5. El tipo grafo:
- Concepto de grafo y terminología,.
- Especificación algebraica.
- Representación de grafos.
- Grafos dirigidos: recorridos en profundidad o DFS, recorridos en anchura o BFS, grafos acíclicos dirigidos o GAD, componentes fuertemente conexos.
- Grafos no dirigidos.

En la primera unidad se estudian conceptos básicos del estudio de los Tipos Abstractos de Datos, que luego serán usados sistemáticamente en el resto del curso. No se pretende desarrollar esta teoría en profundidad, sino tan sólo en el nivel que se considera preciso para soportar adecuadamente el resto de los contenidos del curso. En segundo lugar, una vez introducidos los conceptos anteriores, éstos se concretan en la especificación de los tipos que se van a estudiar más adelante y que no precisan definiciones para su comprensión. En tercer lugar, se introduce al alumno en la necesidad del análisis de la eficiencia tanto de la representación escogida para los distintos tipos, como la de los algoritmos de manejo de la misma. Por último, se planteará la necesidad de una herramienta para la implementación, concretamente nos referimos al lenguaje C++. El resto de capítulos sirven para presentar diversas familias de tipos de datos consideradas clásicas. Básicamente, estos cuatro núcleos presentan la misma estructura:

- Definiciones y conceptos

- Especificación

- Estudio de las distintas representaciones

- Implementación de las representaciones y análisis de las mismas

- Utilidad del tipo. Puede ser un estudio de algoritmos que resuelvan problemas típicos del tipo, o bien ejemplos de distintas utilizaciones del tipo.

Contenidos prácticos

Se realizarán un conjunto de prácticas en las que se estudiará:

- Diseño de/con tipos abstractos de datos.

- Prueba de la eficiencia de algoritmos y distintas representaciones.


Más información
http://www.dlsi.ua.es/cgi-bin/wwwadm/assig2.cgi?id=cas&assig=PED&plan=2001
Profesor/a responsable
PERAL CORTES , JESUS


Metodología docente (2009-10)
Clases teóricas y prácticas
Lección magistral con propuesta de ejercicios y problemas para resolver en clase y fuera del aula.


Tipo de actividades: teóricas y prácticas
Laboratorios
Desarrollo de prácticas de programación de estructuras de datos con el lenguaje C++ por parejas.


Profesores (2009-10)
Grupo Profesor/a
TEORIA DE 91631ALCALA APARICIO, JOSE G.
FERRANDEZ RODRIGUEZ, ANTONIO
LLORET RIVERA, ANGEL RAFAEL
Lujan Mora, Sergio
MOYA ALIA, SANTIAGO
PERAL CORTES, JESUS
REQUENA JIMENEZ, ANTONIO
Vazquez Pérez, Sonia
2ALCALA APARICIO, JOSE G.
FERRANDEZ RODRIGUEZ, ANTONIO
LLORET RIVERA, ANGEL RAFAEL
Lujan Mora, Sergio
MOYA ALIA, SANTIAGO
PERAL CORTES, JESUS
REQUENA JIMENEZ, ANTONIO
Vazquez Pérez, Sonia
3ALCALA APARICIO, JOSE G.
FERRANDEZ RODRIGUEZ, ANTONIO
LLORET RIVERA, ANGEL RAFAEL
Lujan Mora, Sergio
MOYA ALIA, SANTIAGO
PERAL CORTES, JESUS
REQUENA JIMENEZ, ANTONIO
Vazquez Pérez, Sonia
PRÁCTICAS CON ORDENADOR DE 91631FERRANDEZ RODRIGUEZ, ANTONIO
2FERRANDEZ RODRIGUEZ, ANTONIO
3FERRANDEZ RODRIGUEZ, ANTONIO
4MOYA ALIA, SANTIAGO
Enlaces relacionados
http://es.wikipedia.org/wiki/Número_complejo
http://gplsi.dlsi.ua.es/libros/cpp1/
http://gplsi.dlsi.ua.es/~slujan/materiales/cpp-muestra.pdf
http://math.hws.edu/TMCM/java/xSortLab/
http://mat21.etsii.upm.es/ayudainf/aprendainf/Cpp/manualcpp.pdf
http://nova.umuc.edu/~jarc/idsv/lesson1.html
http://ocw.ua.es/ingenieria-arquitectura/programacion-y-estructuras-de-datos/Course_listing
http://ocw.ua.es/ingenieria-arquitectura/programacion-y-estructuras-de-datos-2009/Course_listing
http://pracdlsi.dlsi.ua.es
http://publicaciones.ua.es/publica/ficha.aspx?fndCod=LI9788479088880
http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm
http://www.conclase.net/c/curso/index.php
http://www.conclase.net/c/librerias/funcion.php?fun=atan2
http://www.cplusplus.com/
http://www.cppreference.com/wiki/
http://www.cse.ohio-state.edu/~bondhugu/acads/234-tree/index.shtml
http://www.cs.jhu.edu/~goodrich/dsa/trees/btree.html
http://www.cs.unm.edu/~rlpm/499/ttft.html
http://www.etsimo.uniovi.es/eckel/
http://www.qmatica.com/DataStructures/Trees/BST.html


Bibliografía

C++ paso a paso
Autor(es):Luján Mora, Sergio
Edición:San Vicente del Raspeig : Publicaciones de la Universidad de Alicante, 2006.
ISBN:84-7908-888-5
Recomendado por:LUJAN MORA, SERGIO (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Cómo programar en C++
Autor(es):DEITEL, Harvey M. ; DEITEL, Paul J.
Edición:España : Pearson Educación, 2003.
ISBN:970-26-0254-8
Recomendado por:PERAL CORTES, JESUS (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Data abstraction and problem solving with C++ : walls and mirrors
Autor(es):CARRANO, Frank M. ; PRICHARD, Janet J.
Edición:Boston : Addison-Wesley, 2002.
ISBN:0-201-74119-9
Recomendado por:ALCALA APARICIO, JOSE GONZALO
FERRANDEZ RODRIGUEZ, ANTONIO
LLORET RIVERA, ANGEL RAFAEL
LUJAN MORA, SERGIO
MOYA ALIA, SANTIAGO
PERAL CORTES, JESUS
REQUENA JIMENEZ, ANTONIO
VAZQUEZ PEREZ, SONIA
[ Acceso al catálogo de la biblioteca universitaria ]

Data structures and algorithms in C++
Autor(es):DROZDEK, Adam
Edición:Pacific Grove : Brooks/Cole, 2001.
ISBN:0-534-37597-9
Recomendado por:PERAL CORTES, JESUS (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Diseño de programas : formalismo y abstracción
Autor(es):PEÑA MARÍ, Ricardo
Edición:Madrid : Pearson-Prentice Hall, 2005.
ISBN:978-84-205-4191-4
Recomendado por:PERAL CORTES, JESUS (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Ejercicios de programación creativos y recreativos en C++
Autor(es):GREGORIO RODRÍGUEZ, Carlos [et al.]
Edición:Madrid : Pearson Educación, 2002.
ISBN:84-205-3211-8
Recomendado por:ALCALA APARICIO, JOSE GONZALO
FERRANDEZ RODRIGUEZ, ANTONIO
LLORET RIVERA, ANGEL RAFAEL
LUJAN MORA, SERGIO
MOYA ALIA, SANTIAGO
REQUENA JIMENEZ, ANTONIO
VAZQUEZ PEREZ, SONIA
[ Acceso al catálogo de la biblioteca universitaria ]

El lenguaje de programación C++
Autor(es):STROUSTRUP, Bjarne
Edición:Madrid : Addison Wesley, 2002.
ISBN:84-7829-046-X
Recomendado por:ALCALA APARICIO, JOSE GONZALO
FERRANDEZ RODRIGUEZ, ANTONIO
LLORET RIVERA, ANGEL RAFAEL
LUJAN MORA, SERGIO
MOYA ALIA, SANTIAGO
REQUENA JIMENEZ, ANTONIO
VAZQUEZ PEREZ, SONIA
[ Acceso al catálogo de la biblioteca universitaria ]

Fundamentals of data structures in C++
Autor(es):HOROWITZ, Ellis; SAHNI, Sartaj; MEHTA, Dinesh
Edición:New York : Computer Science Press, 1997.
ISBN:0-7167-8292-8
Recomendado por:PERAL CORTES, JESUS (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Resolución de problemas con C++
Autor(es):SAVITCH, Walter
Edición:México, D.F. : Pearson Educación, 2007.
ISBN:978-970-26-0806-6
Recomendado por:PERAL CORTES, JESUS (*1)
[ Acceso al catálogo de la biblioteca universitaria ] [ Acceso a las ediciones anteriores ]
(*1) Este profesor ha recomendado el recurso bibliográfico a todos los alumnos de la asignatura.
Fechas de exámenes oficiales (2009-10)
ConvocatoriaGrupo (*)fechaHora inicioHora finAula(s) asignada(s)Observ:
Exámenes extraordinarios de finalización de estudios (diciembre) -1 02/11/2009 15:00 18:00 A2/D22 -
Periodo ordinario para asignaturas de segundo semestre y anuales -1 04/06/2010 18:00 21:00 EP/S-12M
EP/S-09G
EP/0-26M
EP/S-08M
0039PB013
EP/S-02M
-
Periodo extraordinario de julio -1 05/07/2010 14:30 17:30 A2/E11
A2/D13
A2/D14
-
Parciales -1 13/01/2010 09:00 12:00 A1/0-24G
A1/0-21G
A1/0-03M
A1/0-22M
A1/0-02M
A1/0-23M
-
(*) 1: GRUPO 1 - CAS
(*) 2: GRUPO 2 - CAS
(*) 3: GRUPO 3 Valenciano - VAL


Instrumentos y criterios de evaluación (2009-10)
Evaluación continua, examen final
Examen parcial teórico en febrero. Examen final de teoría y de prácticas en junio.

Para aprobar la asignatura es necesario aprobar la parte de teoría y de prácticas por separado.