Structuri de date şi algoritmi

1. INFORMAŢII GENERALE
2. EVALUARE
3. CONŢINUTUL CURSULUI
4. CONŢINUTUL LABORATORULUI
5. ORAR
6. DOWNLOAD

1. Informaţii generale

Titular (seria 1G): conf. dr. ing. Iulian NĂSTAC

Obiectivele disciplinei:
- pentru curs: Insusirea mecanismelor de stocare, structurare si prelucrare a datelor cu alcatuire complexa. Studiul principiilor de baza utilizate in alcatuirea algoritmilor ca etapa esentiala in dezvoltarea eficienta a aplicatiilor software. Criterii de proiectare eficienta a programelor. Studii de caz si metode de evaluare a performantelor algoritmilor.
- pentru aplicaţii: Insusirea practica, prin implementare de programe software, a notiunilor predate la curs. Rezolvarea unor probleme practice concrete care includ elemente de structuri de date si algoritmi.

Competenţe specifice:
Crearea abilităţilor de a aplica cunoştinţele generale privind stucturile de date si structurarea algoritmica a programelor. Posibilitatea de a evalua eficienta implementarii unei aplicatii software folosind criteriilor de performanţă analizate la curs. Dezvoltarea calitatilor necesare unui programator: abstractizare, analiză, si sinteză: combinare (abstracţie algebrică), echivalenţă (abstracţie topologică / sinteză), izolare (descompunere / analiză), evidenţiere (extragere din context), evidenţiere a unei stări (abstracţie temporală), idealizare (abstracţie de ordine).

2. Evaluare

- aprecierea activităţii la laborator: 30%
- punctaj obtinut in timpul semestrului: 30%
- examen final (scris): 40%.

3. Conţinutul cursului

1. Introducere
1.1. Tipuri de date derivare: structuri, uniuni, pointeri, tablouri
1.2. Paradigme de programare
1.3. Programare structurata
1.4. Recursivitate

2. Notiuni generale privind structurile de date
2.1. Reprezentari statice sau dinamice
2.2. Functii specifice

3. Structuri de date inlantuite (liste)
3.1. Liste simplu inlantuite. Liste dublu inlantuite
3.2. Liste liniare. Liste circulare.
3.3. Cazuri particulare: cozi si stive
3.4. Liste generalizate. Prelucarea recurenta a listelor generalizate.

4. Structuri de date ierarhizate (arbori)
4.1. Definitii, proprietati.
4.2. Implementarea arborilor multipli (n-ari) prin liste generalizate.
4.3. Arbori binari; Parcurgerea arborilor binari.
4.4. Arbori de cautare.
4.5. Arbori de selectie.
4.6. Implementarea arborilor multipli (n-ari) prin arbori binari.

5. Structuri de date relationale (grafuri)
5.1. Definitii, proprietati.
5.2. Reprezentarea grafurilor prin matrice de adiacenta.
5.3. Reprezentarea grafurilor prin liste de adiacenta.
5.4. Parcurgerea grafurilor.
5.5. Algoritmi de cautare a drumurilor in grafuri

6. Algoritmi. Principii si tehnici de abordare
6.1. Divide et Impera et Intellige
6.2. Greedy
6.3. Backtracking
6.4. Branch & Bound
6.5. Programare dinamica
6.6. Complexitate si calculabilitate

7. Algoritmi de sortare
7.1. Metode de sortare prin interschimbare.
7.2. Metode de sortare prin insertie.
7.3. Metode de sortare prin selectie.

8. Algoritmi de cautare
8.1. Arbori de cautare.
8.2. Cautare secventiala; cautare euristica.
8.3. Cautarea binara.
8.4. Cautarea indexata.

4. Conţinutul laboratorului

1. Recursivitate. Structuri de date derivate.
2. Liste înlănţuite.
3. Aplicaţii stive şi cozi.
4. Aplicaţii arbori.
5. Aplicaţii grafuri.
6. Aplicaţie algoritmi de sortare şi căutare.

Bibliografie:

Iulian Năstac, Programarea calculatoarelor în limbajul C – Elemente fundamentale, Editura Printech, Bucureşti, 2006, ISBN 973-718-464-5
Dumitru Iulian Năstac, Structuri de date şi algoritmi – Aplicaţii, Editura Printech, Bucureşti, 2008, ISBN 978-973-718-989-9

5. Orar

Orarul valabil pentru semestrul curent

6. Download

CURS:

Română
Curs 2
Curs 3
Curs 4
Curs 5
Curs 6
Curs 7
Curs 8
Curs 10
Curs 11
Curs 13

English
Course 2
Course 3
Course 4
Course 5
Course 6
Course 7
Course 8
Course 10
Course 11
Course 13

LABORATOR:

Română
Laborator 1: Pointeri şi Structuri de date
Laborator 2: Lista
Laborator 3: Stiva
Laborator 4: Coada
Laborator 5: Arbori

English
Laboratory 1: Pointers and Data Structures
Laboratory 2: Simple Linked Lists
Laboratory 3: Stack
Laboratory 5: Binary Trees
Laboratory 6: Backtracking

Pentru a descărca materiale suport pentru alte cursuri accesaţi
www.euroqual.pub.ro/download/

Actualizat: 16 mai 2017, 13:23