Algoritmi Și Structuri De Date 2
Public syllabus for 2025-2026
Academic overview
Teaching team
Learning time distribution
| Total | ||||||
|---|---|---|---|---|---|---|
| Curriculum | Lecture | Practice | Total Weekly | Lecture | Practice | |
| 56 | 28 | 28 | 4 | 2 | 2 | |
| Exam hours | ||||||
| 6 | ||||||
| Individual Study | Bibliography study | Field study | Homework | Tutoring | Others | |
| 63 | 23 | 9 | 26 | 5 | 0 | |
| Overall | ||||||
| 125 |
Learning outcomes
Knowledge
- (6a03a0922355ae3a04d2f214) Identifică, explică și argumentează concepte fundamentale de structuri de date, algoritmi și paradigme de programare, precum și a arhitecturii calculatoarelor;
- (C13) Explică structura unui algoritm dat
Skills
- (6a03a0932355ae3a04d2f236) Elaborează, dezvoltă și demonstrează soluții software complexe utilizând algoritmi eficienți și paradigme diverse de programare;
Responsibility
- R2. Capacitatea de a identifica/selecta soluții/căi de rezolvare adecvate și de a genera idei inovative;
- R5. Capacitatea de a asuma în mod responsabil sarcinile profesionale și de a respecta normele de etică și deontologie profesională;
- R6. Capacitatea de a se adapta la noi cerințe și modalități de desfășurare a activității.
Online platform
Course content
| Content | Methods | Obs |
|---|---|---|
| C1. Introducere. revizuirea structurilor de baza pentru implementarea structurilor de date, pointeri in C. | Prelegere, exemplificare, demonstrare | 2 ore |
| C2. Revizuire Liste înlantuite. Liste simple înlănțuite concepte și implementare. Căutarea de informații într-o listă înlănțuită. Introducerea de noi noduri într-o listă înlănțuită. Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C3. Liste înlănțuite: Subiecte avansate. Liste dublu înlănțuite. Introducerea și ștergerea de noduri dintr-o listă dublu înlănțuintă. Stive, cozi, cozi duble. Liste în STL, Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C4. Liste Skip. Definiția și punerea în aplicare. Liste de auto-organizare. Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C5 Tabele de dispersie (hash tables), Adresare directă, hashing prin înlănțuirea. Exemple de funcții hash. Hashing prin abordarea deschisă. Hashing dublu. Hashing universal. Hashing perfect. Analiza complexității. | Prelegere, exemplificare, demonstrare | 2 ore |
| C6. Grămezi (Heaps). Implementare operații pe heap. Aplicație: heapsort. Alte aplicații. Analiza complexitatii operatiilor. | Prelegere, exemplificare, demonstrare | 2 ore |
| C7. Arbori binari de căutare (BST). Arbori. Implementare: Insertie, Căutare, Traversare: preordine, inordine, postordine. Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C8. Traversare arbori binari de căurtare: preordine, inordine, postordine – varianta iterativa, Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C9. Arbori binari cu rearanjare: Implementarea operațiilor de inserare, traversare. Operatia de stergere pentru un arbore binar: Stergere prin copiere, Stergere prin îmbinare, Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C10. Arbori AVL. Balansare arbori binari de cautare: algoritmul DSW. Operatii cu arbori AVL: Inserare și ștergere, Rotatii. Analiza complexitatii operatiilor | Prelegere, exemplificare, demonstrare | 2 ore |
| C11. Arbori splay. Definiţie. Implementare operații: Introducerea. Ștergerea. Analiza complexitatii operatiilor. | Prelegere, exemplificare, demonstrare | 2 ore |
| C12. Algoritmi de compresie: Huffman, Fano, implementare și analiza complezității | Prelegere, exemplificare, demonstrare | 2 ore |
| C13 Arbori prefixati. Definiţie. Implementare operații: Introducerea. Ștergerea. Analiza complexitatii operatiilor. | Prelegere, exemplificare, demonstrare | 2 ore |
| C14 recapitulare | Prelegere, exemplificare, demonstrare | 2 ore |
Course bibliography
[1] S. Baase; Computer Algorithms. Introduction to Design and Analysis, Addison Wesley Publishing Company, 2nd edition, 1993 [2] T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein; Introduction to Algorithms, MIT Press, 2nd edition, 2001. [3] C.A. Giumale; Introducere in analiza algoritmilor. Teorie si aplicatie, Ed. Polirom, 2004
Seminar content
| Content | Methods | Obs |
|---|---|---|
| L1. Introducere în limbajul Python/C++. Recapitulare prelucrări simple asupra datelor și operații de intrare/ieșire. | Problematizare, dialog / online | 2 ore |
| L2. Descrierea în pseudocod și implementarea în Python pentru Liste simple înlănțuite concepte și implementare. Căutarea de informații într-o listă înlănțuită. Introducerea de noi noduri într-o listă înlănțuită. | Problematizare, dialog / online | 2 ore |
| L3. Liste dublu înlănțuite. Introducerea și ștergerea de noduri dintr-o listă dublu înlănțuintă. Stive, cozi, cozi duble. | Problematizare, dialog / online | 2 ore |
| L4. Implementare Python operații cu liste skip. | Problematizare, dialog / online | 2 ore |
| L5. Implementare hashtable. (Evaluare individuala Liste ) | Problematizare, dialog / online | 2 ore |
| L6. Prelucrări asupra arborilor binari de căutare: Implementare: Insertie, Căutare | Problematizare, dialog / online | 2 ore |
| L7. Prelucrări asupra arborilor binari de căutare: Implementare: Traversare: preordine, inordine, postordine. | Problematizare, dialog / online | 2 ore |
| L8. Prelucrări asupra arborilor binari de căutare: Traversare nerecursiva, Stergere | Problematizare, dialog / online | 2 ore |
| L9. Implementare arbori AVL: rotații | Problematizare, dialog / online | 2 ore |
| L10. Prelucrari peste arbori splay | Problematizare, dialog / online | 2 ore |
| L11. Prelucrari peste arbori red-black | Problematizare, dialog / online | 2 ore |
| L12. Implementare operații pe heap. Aplicație: heapsort. (Evaluare individuala Arbori) | Problematizare, dialog / online | 2 ore |
| L13. Aplicații și implementare de arbori splay. | Problematizare, dialog / online | 2 ore |
| L14. Implementare și testare algoritmi de compresie. | Problematizare, dialog / online | 2 ore |
Seminar bibliography
[1] S. Baase; Computer Algorithms. Introduction to Design and Analysis, Addison Wesley Publishing Company, 2nd edition, 1993 [2] T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein; Introduction to Algorithms, MIT Press, 2nd edition, 2001. [3] C.A. Giumale; Introducere in analiza algoritmilor. Teorie si aplicatie, Ed. Polirom, 2004 [4] M. T. Goodrich, R. Tamassia, M.H. Goldwasser. Data Structures & Algorithms in Python, Wiley, 2013 [5] A. Levitin; Introduction to the Design and Analysis of Algorithms, Addison Wesley Publishing Company, 2003 [6] D. Lucanu, M. Craus; Proiectarea algoritmilor, Ed. Polirom, 2008 [7] S. Skiena; The Algorithm Design Manual, second edition, 2008 [8] D. Zaharie; Introducere in proiectarea si analiza algoritmilor, Ed. Eubeea, 2008 http://web.info.uvt.ro/wiki/Algoritmica/
Corroboration
Conţinutul este în concordanţă cu structura cursurilor similare de la alte universităţi şi acoperă aspectele fundamentale necesare familiarizării cu problematica proiectării algoritmilor.
AI tools guidance
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| S |
|
|
|
Performance standards
Descrierea unui algoritm/concept simplu în pseudocod; Stabilirea ordinului de complexitate a unui algoritm simplu; Cunoașterea unor structuri de date fundamentale din informatica (stive, cozi, arbori binari de cautare); Capacitatea de a implementa corect algoritmi si structuri de date simple. Nota de trecere obtinuta din activitatea de laborator si evaluarea de la examen.
Additional info
(none)