Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sda-ab:laboratoare:03 [2021/02/24 18:02]
ruben_gilian.udroiu
sda-ab:laboratoare:03 [2021/03/08 12:46] (current)
andreea.udrea [3. Algoritmi de sortare]
Line 1: Line 1:
-===== Laboratorul 02: Algoritmi de cautare si sortare =====+===== Laboratorul 2: Algoritmi de cautare si sortare =====
  
  
Line 14: Line 14:
   * Quick Sort   * Quick Sort
  
 +Cerinta si structura laboratorului se gaseste in **[[https://​github.com/​sda-ab/​lab-02-tasks|acest link.]]**
  
 ====== 2. Introducere ====== ====== 2. Introducere ======
Line 262: 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 celor mai mari dupa pivot; stabilirea pozitiei finale a pivotului  
-  * interschimbarea ​elementelor ​care se află pe „partea greşită“ ​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ă.+
  
  
-====== 4. Exercitii ======+====== 4. Exercitii ​propuse======
 1. Alegeţi un algoritm A(dintre Bubble, Insertion şi Selection) şi un algoritm B(dintre Merge şi Quick). Introduceţi variabile globale cu care să contorizaţi numărul de comparaţii pentru algoritmii A şi B. Comparaţi rezultatele pentru un vector de întregi de lungime n = 20. 1. Alegeţi un algoritm A(dintre Bubble, Insertion şi Selection) şi un algoritm B(dintre Merge şi Quick). Introduceţi variabile globale cu care să contorizaţi numărul de comparaţii pentru algoritmii A şi B. Comparaţi rezultatele pentru un vector de întregi de lungime n = 20.
  
 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+
  
sda-ab/laboratoare/03.1614182547.txt.gz · Last modified: 2021/02/24 18:02 by ruben_gilian.udroiu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0