This shows you the differences between two versions of the page.
sda-ab:laboratoare:03 [2021/02/25 17:29] ruben_gilian.udroiu [4. Exercitii] |
sda-ab:laboratoare:03 [2021/03/08 12:46] (current) andreea.udrea [3. Algoritmi de sortare] |
||
---|---|---|---|
Line 14: | Line 14: | ||
* Quick Sort | * Quick Sort | ||
- | Structura laboratorului se gaseste in **[[http://gooogle.com|acest link.]]** | + | Cerinta si structura laboratorului se gaseste in **[[https://github.com/sda-ab/lab-02-tasks|acest link.]]** |
====== 2. Introducere ====== | ====== 2. Introducere ====== | ||
Line 263: | Line 263: | ||
* alegerea unui element pe post de pivot | * alegerea unui element pe post de pivot | ||
- | * parcurgerea vectorului din două părţi(de la stânga la pivot, de la dreapta la pivot, ambele în acelaşi timp) | + | * mutarea elementelor cu valori mai mici decat pivotul inaintea acestuia si a celor mai mari dupa pivot; stabilirea pozitiei finale a pivotului |
- | * interschimbarea elementelor care se află pe „partea greşită“ a pivotului(mutăm la dreapta pivotului elementele mai mari, la stânga pivotului elementel mai mici) | + | * după ce mutăm elementele pe „partea corectă“ a pivotului, avem 2 subşiruri de sortat, pentru fiecare repetam procedura de mai sus. |
- | * divizarea algoritmului: după ce mutăm elementele pe „partea corectă“ a pivotului, avem 2 subşiruri de sortat, iar pivotul se află pe poziţia bună. | + | |
Line 273: | Line 272: | ||
2. Implementaţi un algoritm(dintre Bubble, Insertion şi Selection) pentru sortarea unui vector cu n cuvinte de maxim 4 litere fiecare. | 2. Implementaţi un algoritm(dintre Bubble, Insertion şi Selection) pentru sortarea unui vector cu n cuvinte de maxim 4 litere fiecare. | ||
- | 3. Implementaţi un algoritm(dintre Merge şi Quick) pentru sortarea unui vector de structuri, unde fiecare structură reprezintă un moment de timp(int ora,min,sec). | + | 3. Implementaţi un algoritm(dintre Merge şi Quick) pentru sortarea unui vector de cu inregistrari de tip ora_exacta, unde structura ora_exacta are campurile intregi: ora, min,sec. |
4. Considerăm un pachet de cărţi. Extragem random n cărţi. Sortaţi aceste cărţi folosind metoda inserţiei. | 4. Considerăm un pachet de cărţi. Extragem random n cărţi. Sortaţi aceste cărţi folosind metoda inserţiei. | ||
5. Scrieţi un program eficient care să afişeze primele k cele mai mari elemente dintr-un vector. Elementele nu | 5. Scrieţi un program eficient care să afişeze primele k cele mai mari elemente dintr-un vector. Elementele nu | ||
- | sunt ordonate, ci ordinea lor este una aleatoare. De exemplu dat vectorul v = [1, 23, 12, 9, 30, 2, 50], dacă k = 3, vrem cele mai mari 3 elemente care sunt | + | sunt ordonate, ci ordinea lor este una aleatoare. De exemplu dat vectorul v = [1, 23, 12, 9, 30, 2, 50], dacă k = 3, vrem cele mai mari 3 elemente care sunt 50, 30, 23 |
- | 50, 30, 23 | + | |