Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
laborator [2020/09/10 14:05] pdmatei |
laborator [2020/09/10 17:57] (current) pdmatei |
||
---|---|---|---|
Line 144: | Line 144: | ||
==== Notatii asimptotice ==== | ==== Notatii asimptotice ==== | ||
- | * Implementari care sa ilustreze faptul ca constanta conteaza/nuconteaza | + | * (Homework) Implement mergesort and insertionsort in python. Use a large dataset (provided by us) to test your implementation. Plot the execution times together with the functions $math[n^2] and $math[n\cdot \log{n}] using ''gnuplot''. What do you observe? Adjust the constants for the previous functions so that the rate of growth can be better observed. |
- | * Implementari care sa ilustreze faptul ca log n >> n >> n2 >>> n3 | + | |
- | * Grafice in Python (done) | + | |
* Exercitii clasice | * Exercitii clasice | ||
Line 155: | Line 153: | ||
* Exemplul cu sqrt(n) al lui Sebi. | * Exemplul cu sqrt(n) al lui Sebi. | ||
* Exercitii clasice | * Exercitii clasice | ||
+ | |||
+ | ==== Ammortised Analysis ==== | ||
+ | * Classical exercises | ||
===== Part 3 - Algorithm complexity (4 labs) ===== | ===== Part 3 - Algorithm complexity (4 labs) ===== | ||
==== NP completitudine ==== | ==== NP completitudine ==== | ||
- | * Implementare care sa ilustreze exponentiala (backtracking); legatura cu MTN. | + | * Implement a SAT solver which encodes formulae as matrices and iterates over interpretations treating them as binary counters. Plot execution times. |
- | * Reduceri pentru SAT solvere | + | * Implement a better SAT solver which uses BDDs to encode a formula. The variable ordering is known in advance. Plot execution times. |
- | * Exercitii clasice cu reduceri | + | * Implement a k-Vertex-Cover solver using a reduction from SAT, and any of the above solvers. |
+ | * Exercitii clasice cu choice si reduceri | ||
- | ===== Part 4 - Abstract Datatypes (3 labs) ===== | + | ===== Part 4 - Abstract Datatypes (2 labs) ===== |
==== TDA-uri ==== | ==== TDA-uri ==== | ||
* Conceptul de operator vs cel de functie (exercitiu in C, exercitiu in Haskell, pe Liste) | * Conceptul de operator vs cel de functie (exercitiu in C, exercitiu in Haskell, pe Liste) | ||
+ | * (Homework) Implementare LinkedList si ArrayList in Python, impreuna cu operatii. Implementare Haskell a operatiilor, dupa o discutie la curs despre acestea. | ||
* Exercitii clasice | * Exercitii clasice | ||