Skip to content

Algoritmi Și Structuri De Date 2

Public syllabus for 2025-2026

Academic overview

Programme
IR
Period
Year 1, Semester 2
Credits
5
Weeks
14

Curriculum placement

Appears in study plans

Teaching team

Course coordinator
Seminar coordinators
Ioana Morariu, Alexandru Farcaș, Cosmin Bonchiș

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

Microsoft Teams/ Google Classroom

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

Un student la Informatică poate și este chiar încurajat să folosească tool-uri de inteligență artificială, deoarece acestea pot accelera învățarea și pot crește productivitatea. AI-ul poate explica concepte dificile, poate oferi exemple de cod, ajuta la debugging și sugera îmbunătățiri, fiind deja un instrument utilizat frecvent în industrie. Totuși, folosirea lui trebuie făcută responsabil: codul generat trebuie înțeles, nu copiat mecanic, iar regulile academice trebuie respectate. Folosit corect, AI-ul devine un sprijin valoros în procesul de formare, un mentor digital care amplifică învățarea, nu un înlocuitor al gândirii proprii.

Evaluation and delivery

Activity Criteria Methods Percentage
C
  • Lucrare scrisa, probleme de rezolvat / test grila cu întrebări din notiunile predate.
  • Cunostintele vor fi testate printr-o lucrare scrisa / teste grila, continand probleme din materia cursului. Problemele urmaresc sa dovedeasca stapanirea si intelegerea unor concepte de baza in cadrul cursului.
  • 30.0%
S
  • Evaluare de laborator
  • Teste de laborator / evaluari 1 la 1 periodice, prin rezolvarea de probleme pe calculator și răspuns la întrebări teoretice si practice
  • 70.0%

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)