Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
Ambele părți revizuirea anterioară Versiuni anterioare Urmatoarea versiune | Versiuni anterioare Urmatoarea versiune Ambele părți următoarea reviziune | ||
laboratoare:laborator-01 [2017/02/18 21:41] iulian.matesica [2.3.2. Fișiere header și include guards] |
laboratoare:laborator-01 [2017/02/20 00:03] florina_elena.barbu |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
====== Laborator 01: Introducere ====== | ====== Laborator 01: Introducere ====== | ||
- | ===== 1. Obiectivele laboratorului ===== | + | ===== 1. Obiectivele laboratorului |
* familiarizarea cu structuri de date | * familiarizarea cu structuri de date | ||
Linia 268: | Linia 268: | ||
* **$^** se expandează la lista de cerințe (prerequisites - lista de dependențe) | * **$^** se expandează la lista de cerințe (prerequisites - lista de dependențe) | ||
* **$<** se expandează la prima cerință (la prima dependență) | * **$<** se expandează la prima cerință (la prima dependență) | ||
+ | |||
---- | ---- | ||
- | ===== 3. Ceva chestii | + | ===== 4. Calculul complexității algoritmilor ===== |
+ | |||
+ | Analiza complexității unui algoritm are ca scop estimarea volumului de resurse de calcul necesare pentru execuția algoritmului. Prin resurse se înțelege: | ||
+ | • //Spațiul de memorie// necesar pentru stocarea datelor pe care le prelucrează algoritmul.\\ | ||
+ | • //Timpul necesar pentru execuția// tuturor prelucrărilor specificate în algoritm. | ||
+ | |||
+ | Această analiză este utilă pentru a stabili dacă un algoritm utilizează un volum acceptabil de resurse pentru rezolvarea unei probleme. In acest fel timpul de executie va fi exprimat prin numarul de operatii elementare executate. Sunt considerate operatii elementare cele aritmetice (adunare, scadere, ınmulțire, | ||
+ | |||
+ | Este așadar suficient sa se contorizeze doar anumite tipuri de operații elementare, | ||
+ | |||
+ | **Exemplul 1 - Suma a n numere** \\ | ||
+ | Consideram problema calculului sumei . Dimensiunea acestei probleme poate fi considerata // | ||
+ | problemei. | ||
+ | {{ : | ||
+ | |||
+ | |||
+ | **Exemplul 2 - Înmulțirea a 2 matrici** \\ | ||
+ | Consideram problema determinarii produsului a doua matrici: A de dimensiune m×n si B de dimensiune n×p. In acest caz dimensiunea problemei este determinata de trei valori: (m, n, p). \\ | ||
+ | In practica nu este necesara o analiza atat de detaliata ci este suficient sa se identifice | ||
+ | operatia dominantă si sa se estimeze numarul de repetari ale acesteia. Prin operatie dominanta se ıntelege operatia care contribuie cel mai mult la timpul de executie a algoritmului si de regulă este operatia ce apare ın ciclul cel mai interior. În exemplul | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ---- | ||
+ | ===== 5. Exerciții ===== | ||
+ | |||
+ | ==== Exercițiul 1 - Hello world ==== | ||
+ | ==== Exercițiul 2 - Makefile | ||
+ | ==== Exercițiul 3 - Makefile cu surse multiple | ||
---- | ---- | ||
- | ===== 4. Exerciții ===== | + | ===== 6. Referințe ===== |
+ | [[https:// | ||
- | ==== Exercițiul 1 - Hello world (2p) ==== | ||
- | ==== Exercițiul 2 - Makefile (3p) ==== | ||
- | ==== Exercițiul 3 - Makefile cu surse multiple (3p) ==== | ||
- | ==== Exercițiul 4 - ?? ==== | ||