2004-2005

Enginyeria Tè;cnica en Informàtica de Sistemes (3372)


Estructures de Dades i de la Informació I(12413) 


Descripció

L'assignatura introdueix la importancia d'un bon disseny de les estructures de dades d'una aplicació, a partir de donar una visió general de les estructures més comunes així com de l'abstracció necessària per separar la representació de les dades, la seva implementació i el seu ús.

Objectius

L'alumne haurà d'ésser capaç d'especificar, dissenyar, implementar i avaluar estructures de dades i saber identificar els algorismes més adients sobre aquestes estructures. És a dir, es pretén que l'alumne s'apropi per primer cop a la figura del dissenyador analista, més que no d'un programador.

No obstant, també es pretén proporcionar a l'alumne més experiència en el camp de la programació mitjançant la realització de pràctiques i un projecte final.

Organització

L'assignatura s'estructura en sessions teòriques (3'5 h. setmanals, distribuïdes en dues sessions; una de 1'5 h. i una altra de 2 h.) i sessions pràctiques (1 sessió setmanal de 2h.).

Temari

Tema 1. Especificació algebràica i concepte deTipus abstracte de dades (TAD)

1. Llenguatge abstracte d'especificació de TAD's
2. Parametrització de TAD's

Tema 2. Estructures Lineals: Especificació i Implementació

1. TAD pila
2. TAD cua
3. TAD llista

Tema 3. Estructures associatives (o funcionals)

1. TAD taula associativa
2. Implementació: Taules de Dispersió (hashing)

Tema 4. Arbres

1. TAD Arbres Binaris
2. TAD Arbres Binaris de Cerca (ordenats)
3. Altres tipus d'arbres: AVL i Cua de prioritat

Tema 5. Disseny d'estructures de dades

Pràctiques

Les pràctiques de l'assignatura reforcen els continguts teòrics presentats a les sessions teòriques. A més a més, pretèn donar una visió més àmplia del llenguatge de Programació C, presentat a l'assigantura de Programació 1. A les sessions pràctiques s'implementen alguns dels Tipus Abstractes de Dades (TAD) presentats i s'estudien les diferents alternatives d'implementació per cadascún d'ells. A la pràctica final, a mode de compendi, s'utilitza algun dels TAD's implementats durant el curs per a la realització d'una pràctica final més complerta.

Mètode d'avaluació

Nota Final = Teoria · 0,7 + Prac · 0,3 * Teoria = Examen · 0,9 + Entrega Exercicis · 0,1 o Examen = Teoria (test) · 0,4 + Problemes · 0,6 o Entrega Exercicis = Control Parcial · 0,5 + Entrega Problemes · 0,5 * Prac = Entregues Parcials + Entrega Final

Observacions

L'alumne ha d'haver cursat, prèviament, alguna assignatura de programació bàsica. És convenient cursar alhora l'assignatura Programació II (12410)

Bibliografia

Bibliografia bàsica
AHO, A.V. i d'altres. Data Structures and Algorithms. Addison-Wesley, 1983.
PEÑA, R. Diseño de programas. Prentice Hall, 2a Edició, 1999.
WEISS, M. Data Structures and Algorithm Analysis in C. Benjamin Cummings, 1993.

Bibliografia complementària
FRANCH. X. Estructures de Dades. Especificació, disseny i implementació. Tercera Edició, 1995
AMSBURY, W. Data Structures, from arrays to priority queues. Wadsworth, 1985.
CORMEN, LEISERSON, RIVEST. Introduction to Algorithms. MIT Press, 1990.
FLAMIG, B. Practical Data Structures in C++. Wiley and Sons, 1993.
FRAKES, B.; BAEZA-YATES, R. Information Retrieval: Data Structures and Algorithms. Prentice Hall, 1992.
HOROWITZ, E.; SAHNI, S. Fundamentals of Data Structures. Computer Science Press, 1983.
KORSH, J.; GARRET, L. Data Structures, Algorythms and Program Style Using C. PWS Kent Publishing, 1988
MORET, SHAPIRO: Algorithms from P to NP. Benjamin Cummings, 1991.
PLUM, T. Reliable Data Structures in C. Plum Hall, 1985
WIRTH, N. Algorithms + Data Structures = Programs. Prentice Hall, 1980.

Darrera actualització 24-11-2010
© Universitat Pompeu Fabra, Barcelona