UA
   PROGRAMACIÓ I ESTRUCTURES DE DADES    Any acadèmic       Versió PDF.  Versió PDF per a convalidació.
Codi9163Descripció
Crdts. Teor.4,5ESTRUCTURA DE DADES I ALGORISME DE MANIPULACIÓ. TIPUS ABSTRACTES DE DADES. DISSENY RECURSIU.
Crdts. Pract.4,5
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival a 11,25 ECTS.


Departamentos y Áreas
DepartamentsÀreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
LLENGUATGES I SISTEMES INFORMÀTICSLLENGUATGES I SISTEMES INFORMÀTICS4,54,5


Estudis en què s'imparteix
Enginyeria en Informàtica - pla 2001


Prerequisitos
FONAMENTS DE PROGRAMACIÓ I
FONAMENTS DE PROGRAMACIÓ II


Incompatibilitats de matricula per continguts equivalents
Sense Dades


Matriculats (2013-14)
Sense Dades


Oferida com a lliure elecció (2013-14)
Sense departament
Consulta Gràfica d'Horari
A efectes d'intercanvis en programes de mobilitat, la càrrega d'aquesta assignatura equival aFeu clic ací


Horari (2013-14)
Sense horari


Grups de matricula (2013-14)
Grup (*)QuadrimestreTornIdiomaDistribució (lletra nif)
1 Anual M CAS des de - fins a -
1001 Anual M CAS des de - fins a -
(*) 1: GRUPO 1 - CAS
(*) 1001: 1001 - CAS


Objectius de l'assignatura / competències (2013-14)
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.


Continguts teòrics i pràctics (2013-14)
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.


Enllaç al programa
http://www.dlsi.ua.es/cgi-bin/wwwadm/assig2.cgi?id=cas&assig=PED&plan=2001
Professor/a responsable
Peral Cortes , Jesus


Metodologia docent (2013-14)
Classes teòriques i pràctiques
No hay clases presenciales.


Tipus d'activitats: teòriques i pràctiques
Laboratoris
Desarrollo de prácticas de programación de estructuras de datos con el lenguaje C++.


Professorat (2013-14)
Grup Professor
TEORIA COMPARTIDA DE 9163, 9271 Y 93821FERRANDEZ RODRIGUEZ, ANTONIO
Moya Alia, Santiago
Peral Cortes, Jesus
Vazquez Pérez, Sonia
1001Peral Cortes, Jesus
Enllaços relacionats
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://pracdlsi.dlsi.ua.es
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.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


Bibliografia

Cómo programar en C++
Autors:Deitel, Harvey M. ; Deitel, Paul J.
Edició:México, D.F. : Pearson Educación, 2014.
ISBN:607-32-2740-X
Recomanat per: PERAL CORTES, JESUS (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Accés a les edicions anteriors ] [ Enllaç al recurs bibliogràfic ]

Data abstraction and problem solving with C++ : walls and mirrors
Autors:CARRANO, Frank M. ; PRICHARD, Janet J.
Edició:Boston : Addison-Wesley, 2002.
ISBN:0-201-74119-9
Recomanat per: FERRANDEZ RODRIGUEZ, ANTONIO
MOYA ALIA, SANTIAGO
PERAL CORTES, JESUS
VAZQUEZ PEREZ, SONIA
[ Accés al catàleg de la biblioteca universitària ]

Data structures and algorithms in C++
Autors:Drozdek, Adam
Edició:Pacific Grove : Brooks-Cole, 2001.
ISBN:0-534-37597-9
Recomanat per: PERAL CORTES, JESUS (*1)
[ Accés al catàleg de la biblioteca universitària ]

Diseño de programas : formalismo y abstracción
Autors:Peña Marí, Ricardo
Edició:Madrid : Pearson Educación, 2005.
ISBN:978-84-205-4191-4
Recomanat per: PERAL CORTES, JESUS (*1)
[ Accés al catàleg de la biblioteca universitària ]

Ejercicios de programación creativos y recreativos en C++
Autors:Gregorio Rodríguez, Carlos ; Llana Díaz, Luis Fernando
Edició:Madrid : Pearson, 2002.
ISBN:978-84-205-3211-0
Recomanat per: FERRANDEZ RODRIGUEZ, ANTONIO
MOYA ALIA, SANTIAGO
VAZQUEZ PEREZ, SONIA
[ Accés al catàleg de la biblioteca universitària ]

Ejercicios resueltos sobre programación y estructuras de datos
Autors:Luján Mora, Sergio
Edició:Alicante : Publicaciones de la Universidad de Alicante, 2014.
ISBN:978-84-9717-295-0
Recomanat per: PERAL CORTES, JESUS (*1)
[ Accés al catàleg de la biblioteca universitària ]

El lenguaje de programación C++
Autors:STROUSTRUP, Bjarne
Edició:Madrid : Addison Wesley, 2002.
ISBN:84-7829-046-X
Recomanat per: FERRANDEZ RODRIGUEZ, ANTONIO
MOYA ALIA, SANTIAGO
VAZQUEZ PEREZ, SONIA
[ Accés al catàleg de la biblioteca universitària ]

Fundamentals of data structures in C++
Autors:Horowitz, Ellis
Edició:Dades no disponibles.
ISBN:0-929306-37-6
Recomanat per: PERAL CORTES, JESUS (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Accés a les edicions anteriors ]

Resolución de problemas con C++
Autors:Savitch, Walter
Edició:México, D.F. : Pearson Educación, 2007.
ISBN:978-970-26-0806-6
Recomanat per: PERAL CORTES, JESUS (*1)
[ Accés al catàleg de la biblioteca universitària ] [ Accés a les edicions anteriors ]
(*1) Aquest professor ha recomanat el recurs bibliogràfic a tot l'alumnat de l'assignatura.
Dates d'exàmens oficials (2013-14)
ConvocatòriaGrup (*)DataHora d’iniciHora d’fiAules assignadesObservacions:
Proves extraordinarias de finalització d'estudis -1 25/11/2013 16:00 18:30 0016P1007 -
Període ordinari per a assignatures de segon semestre i anuals -1 03/06/2014 -
(*) 1: GRUPO 1 - CAS
(*) 1001: 1001 - CAS


Instruments i criteris d'avaluació (2013-14)
Examen final
Para la evaluación de la asignatura en la convocatorias de junio, julio y diciembre:
1. Se realizará un examen práctico (50%) sobre las prácticas propuestas realizadas durante el curso.
2. Se realizará un examen teórico con un valor ponderado del 50%.

Para promediar la nota es indispensable obtener una calificación mínima de 4 sobre 10 en cada parte (teoría y prácticas). La asignatura se aprueba a partir de una nota final de 5 puntos.

Cualquier parte aprobada (teoría o prácticas) con una nota >= 5 sobre 10 se guarda para cualquier convocatoria del futuro. Si un alumno obtiene una nota de 5 en la parte práctica, por ejemplo, en cualquier convocatoria futura sólo tiene que presentarse a la parte teórica.

Las primeras notas que se van a guardar para convocatorias futuras son las notas >=5 sobre 10 obtenidas en las convocatorias de junio y julio de 2013.