Sunteți pe pagina 1din 4

Structuri de date

1. Algoritm. Limbaj algorithmic


- Definitie - trebuie sa produca un rezultat, adica sa resolve o problema pentru anumite
date de de intrare
- Limbaj alboritmic – poate fi simplu (usor de inteles), expresiv (pentru a descrie
algoritmi), abstract (pune accent pe gandirea algoritmica si nu pe detaliile de
implementare)

2. Tip de date. Variabila.


- Variabila – contine nume, prenume, tip si instant
- Tipuri de date:
- elementare: numere intregi, numere reale, valori boolene, caractere,
pointeri
- structurate de nivel jos: operatiile la nivel de componenta
- de nivel inalt: operatii implementate de algoritmi utilizator

3. Tablouri si structuri
- Tablouri sunt acele multimi care au component care apartin aceluiasi tip
- Pot fi: unidimensionale sau bidimensionale
- Unidimensionale: memoria este o secventa de locatii, ordinea de memorare reprezinta
ordinea indicilor
- Bidimensionale: memoria este m*n locatii, ordinea de memorare e data de ordinea
lexicografica a indicilor
- Structuri: asamblu de variabile numite campuri, are nume, iar fiecare camp pe care il
detine are propriul nume si propriul tip, elementele sunt memorate in ordinea declararii
in structura

4. Complexitatea timp a algoritmilor. Notatie asimptotica.


- Complexitate logaritmiza, liniara, patratica, cubica, polinomiala, exponential, constanta
- Analiza asimptotica: studiul proprietatilor timpului de executie atunci cand dimensiunea
problemei tinde la infinit
- Notatie asimptiotica: O, Ω, ɵ

-
-

5. Complexitatea timp a algoritmilor recursivi. Teorema master.


- Timp pentru calcul factorial este:

-
- Metoda substitutiei:

-
- Arbori de recursive: O(nlog(n))
- Teorema master:

6. Liste liniare. Stiva. Coada.


- Liste liniare: operatii (inserare, eliminare, afisare, parcurgere, pozitie, lungime), intalnite
la tablouri, liste simplu inlatuite, liste ordonate
- Stive: lista in care se cunoaste vechimea elementelor introduse LIFO (Last in first out),
push(), pop(), top()
- Coada: lista in care se cunoaste vechimea elementelor introduce FIFO (First in first out),
insereaza(), elimina(), citeste()

7. Structuri de date de tip max/min heap.


- Max heap – implementeaza coada cu prioritati
- Arbori binary cu prioritati , nodurile memoreaza campurile cheie. Pentru orice nod,
cheia din acel nod este mai mare sau egala decat cheile din nodurile fiu. Ultimul nod a
unui maxheadp este nodul cel mai la dreapta pe niveul h. inaltimea unui heap este O
(log n)

8. Structuri de tip union-find.


- Este formata din submultimi si sunt reprezentate prin legaura parinte

9. Sortare.
- Sortare prin interschimbare (bubble-sort) – consta in parcurgerea unui vector, si
schimba pozitia numarului cu cel precedent, in cazul in care este mai mare sau mai mic
decat cel la care s-a ajuns. Procesul se va repeat pana cant sunt asezate in ordine.
Complexitate timp O(n), nefavorabil O(n patrat)
- Sortare prin insertie – inserarea unui anumit element in sirul sortat al predecesorilor sai.
Complexitate O(n), nefavorabil O(n patrat)
- Sortare prin selectie – verifica fiecare numar, iar cel mai mic il pune la inceput.
Urmatorul nr dupa v[1] este cel mai mic dintre celelalte ramase, dar mai mare decat
v[1]. Complexitate O(n patrat)
- Sortare prin interclasare – are la baza interclasarea a doi vectori. Fiind dati doi vectori
ordonati, se obtine al treilea care va contine elementele din cei doi vectori.
Complexitate O(n)
- Sortare prin numarare – se determina pozitia fiecarui element din tabloul sortat
numarand cate elemente sunt mai mici fata de acesta. Complexitate O(k+n) k-nr
elemente
10.Cautare. Arbori de cautare.
- Cautare lista liniara – tablouri O(n), liste O(n), lista ordonata – tablouri O(logn), liste O(n)
- La arbore de cautare ​e arbore binar de cautare. ai radacina cu valoare x si etc si tu vrei
sa cauti . Si compari mereu: y > decat nodul curent? da -> ma duc la dreapta arborelui. e
mai mic? -> ma duc la stanga.
-
- e acel arbore in care valorile din dreapta unui radacini is mai mari decat valoarea radacinii si
valorile de la stanga sunt mai mici

11.Arbori de cautare echilibrati.


- Arbori AVL – arbori binary ordonati care au o proprietate de echilibru, aceea fiind ca
inaltimea subarborelui stang al nodului difera de inaltimea subarborelui drept prin cel
mult o unitate. Complexitate O(logn)
- Arbori B/2-3-4 arbori
- Arbori rosu si negru - arbore binary care contine cate o informative in plus pentru
fiecare nod aceasta fiind culoarea care poate fi rosu sau negru
Proprietati:
- Fiecare nod este rosu sau negru
- Radacina si frunzele care face parte din structura este neagra
- Daca un nod este rosu, copii sunt negrii
- Drumurile de la un nod la nodurile de pe frontier au acelasi numar de noduri negre
- Arbori splay

12.Tabele de- disperesie.


- Utilizeaza o functie de dispersie pentru a asocia cheilor din universal U o valoarea din
multimea 0, …,m
- Asigura complexitate constanta O(1)
- Contine dimensiunea maxima, nr de elemente si tabloul listelor de coliziune
- Functia de dispersie reduce domeniul de valori a indicilor si implicit dimensiunea de
memorare

S-ar putea să vă placă și