Datové struktury II
V letním semestru 2025/2026 přednáším Datové struktury II [NTIN067].
Přednáška se koná v úterky od 15:40 v S8.
Pokud chcete cokoliv konzultovat, napište mi prosím e-mail na mares+ds@kam.mff.cuni.cz a domluvíme se.
| datum | téma | zdroje | záznam |
|---|---|---|---|
| 17. 2. | Výpočetní model Word-RAM. Různé způsoby statické reprezentace slovníků. Perfektní hešování FKS v univerzálních systémů funkcí. Poznámka o třídění reálných čísel. Deterministické statické slovníky: redukce obecného univerza na polynomiální (toliko náčrt) a polynomiálního na kvadratické (n-ární trie), princip permutování bodů v matici, použití ke konstrukci perfektního hešování. | [P01] [FKS] [HMP] [S2.1] | video (špatný zvuk), starší nahrávka |
| 24. 2. | Dokončení statických slovníků: důkaz lemmatu, randomizovaná konstrukce řádkových permutací, derandomizace pomocí podmíněných středních hodnot. Uspořádané celočíselné struktury: van Emde-Boasovy stromy pomocí rekurzivního dělení na přihrádky. | [P01] [HMP] [P02] [G] | video |
| 3. 3. | Uspořádané celočíselné struktury: vEB stromy, jejich hešovaná verze a trik pro implicitní inicializaci paměti. vEB jako binární intervalový strom: jednodušší, ale s pomalejšími updaty; x-fast trie (ukládáme jen jedničky), y-fast trie (zrychlení indirekcí). Úvod do hald: připomenutí binárních a k-regulárních hald. | [P02] [E11] [D4] [PLA18] [G] | video |
| 10. 3. | Haldy: Binomiální, líné bioniální, Fibonacciho. | [D4] [PLA18] | video |
| 17. 3. | Plán: Splay stromy: vážená analýza, statická optimalita, static finger bound, working set bound, hypotéza o dynamické optimalitě. | [D2.3] [STb] |
Materiály
Předchozí běhy přednášky
- 2024 (anglicky, s videozáznamy)
- 2022 (anglicky, s videozáznamy)
- 2020 (česky, s videozáznamy)
- 2018 (česky)
- 2016 (česky, s videozáznamy)
Základní zdroje:
- [D] Martin Mareš: Lecture notes on data structures
- [G] Martin Mareš: Krajinou grafových algoritmů
- [P] Martin Mareš: Poznámky k DS2 (sken)
- [PLA] Martin Mareš, Tomáš Valla: Průvodce labyrintem algoritmů
- [S] Martin Mareš: The Saga of Minimum Spanning Trees, dizertační práce na MFF UK, 2008
Další literatura:
- [E] Erik Demaine: přednáška Advanced Data Structures z MIT
- [EC] Erik Demaine: Cache-Oblivious Algorithms and Data Structures (lecture notes)
- [H] Handbook of Data Structures and Applications (dostupné online z univerzitní sítě)
- [DS] Driscoll, Sarnak, Sleator, Tarjan: Making Data Structures Persistent, Proceedings of STOC, 1986
- [FKS] Fredman, Komlós, Szemerédi: Storing a Sparse Table with O(1) Worst Case Access Time, Journal of ACM, 1984
- [HMP] Hagerup, Miltersen, Pagh: Deterministic Dictionaries, Journal of Algorithms, 2001
- [M] Kurt Mehlhorn: Data Structures and Algorithms (digitální verze knihy)
- [MP] Michal Pokorný: Practical Data Structures, bachelor thesis at MFF UK, 2015
- [MS] Milan Straka: Functional Data Structures and Algorithms, dizertační práce na MFF UK, 2013
- [SE] Seidel: Union Find (prezentace k přednášce)
- [STa] Sleator, Tarjan: A Data Structure for Dynamic Trees, Journal of Computer and System Sciences, 1983
- [STb] Sleator, Tarjan: Self-Adjusting Binary Search Trees, Journal of the ACM, 1985
- [TL] Tarjan, van Leeuwen: Worst-Case Analysis of Set Union Algorithms, Journal of the ACM, 1984 (původní analýza, na přednášce nepoužito)