This shows you the differences between two versions of the page.
sd-ca:challenge [2015/04/07 23:58] alexandru.olteanu |
sd-ca:challenge [2015/04/23 08:37] (current) alexandru.olteanu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | SD Challenge 2015 se va desfasura in 4 etape: | + | SD Challenge 2015 se va desfasura in 2 etape: |
- | * in prima etapa primiti doar enuntul (deadline 10 aprilie) | + | * in prima etapa primiti doar enuntul (deadline 22 aprilie) |
- | * in a doua etapa primiti o prima indicatie de rezolvare (deadline 19 aprilie) | + | * in a doua etapa primiti indicatii de rezolvare (deadline 17 mai) |
- | * in a treia etapa primiti o alta indicatie de rezolvare (deadline 29 aprilie) | + | |
- | * in a patra etapa primiti o ultima indicatie de rezolvare (deadline 17 mai) | + | |
=== Enunt === | === Enunt === | ||
Line 58: | Line 57: | ||
</code> | </code> | ||
+ | === Indicatii de rezolvare === | ||
+ | |||
+ | <note> | ||
+ | Pentru rezolvarea optima a problemei, trebuie un algoritm mai rapid ca o cautare binara ( de complexitate mai mica decat O(log n) pe querry). | ||
+ | Pentru aceasta, va invitam sa va uitati peste urmatoarele structuri de date: | ||
+ | * van Emde Boas trees: | ||
+ | * http://en.wikipedia.org/wiki/Van_Emde_Boas_tree | ||
+ | * https://courses.csail.mit.edu/6.897/spring03/scribe_notes/L1/lecture1.pdf | ||
+ | * Xfast trie (o extensie a structurii de date trie): | ||
+ | * http://en.wikipedia.org/wiki/X-fast_trie | ||
+ | * http://web.stanford.edu/class/archive/cs/cs166/cs166.1146/lectures/15/Small15.pdf | ||
+ | * http://www.borzov.ca/posts/xfast/ | ||
+ | * Yfast trie (cine baga structura asta e un zeu si merita statuie in curtea Politehnicii) | ||
+ | |||
+ | </note> | ||
+ | |||
+ | |||
+ | === Indicatii de implementare === | ||
+ | |||
+ | Pentru etapa 2, veti avea de implementat functiile din headerul ''successor.h'' aflat in arhiva de mai jos. Aceste functii corespund operatiilor de mai sus si se numesc ''add'', ''erase'', ''find'', ''next'' si ''findK''. Citirea este facuta in intregime de programul ''main.cpp''. Voi va trebui sa va scrieti rezolvarea in sursa ''successor.cpp'' care apoi va fi compilata in felul urmator ''g++ -Wall main.cpp successor.cpp -o successor''.\\ | ||
+ | {{:sd-ca:5-univ-successor.zip|Aici}} puteti gasi arhiva cu sursele, respectiv cateva dintre testele folosite pentru evaluare. | ||
=== Indicatii de trimitere === | === Indicatii de trimitere === |