Last update: doc. RNDr. Pavel Töpfer, CSc. (14.01.2019)
The basic course about construction of efficient data structures, mandatory for
Master's students. Search trees, heaps, hashing. Worst-case, average-case and
amortized complexity of data structures. Self-adjusting data structures. Behavior
and analysis of data structures on systems with memory hierarchy. The lecture
builds on the lectures Algorithms and Data Structures I and II and Programming I
and II from the bachelor study.
Last update: doc. RNDr. Pavel Töpfer, CSc. (14.01.2019)
Základní přednáška o konstrukci efektivních datových struktur. Vyhledávací
stromy, haldy, hešování. Analýza nejhoršího, amortizovaného a očekávaného
chování datových struktur. Samoupravující se datové struktury. Chování
a analýza datových struktur na systémech s paměťovou hierarchií. Přednáška
volně navazuje na Algoritmy a datové struktury I a II a Programování I a II
bakalářského studia.
Aim of the course - Czech
Last update: T_KTI (25.04.2016)
Naučit pokročilejší datové struktury včetně teoretické analýzy a experimentů s chováním na reálných počítačích.
Literature -
Last update: T_KTI (26.04.2016)
D. P. Mehta, S. Sahni eds.: Handbook of Data Structures and Applications. Chapman & Hall/CRC, Computer and Information Series, 2005
K. Mehlhorn: Data Structures and Algorithms I: Sorting and Searching. Springer-Verlag, Berlin, 1984
Last update: T_KTI (26.04.2016)
D. P. Mehta, S. Sahni eds.: Handbook of Data Structures and Applications. Chapman & Hall/CRC, Computer and Information Series, 2005
A. Koubková, V. Koubek: Datové struktury I. MATFYZPRESS, Praha 2011
K. Mehlhorn: Data Structures and Algorithms I: Sorting and Searching. Springer-Verlag, Berlin, 1984
Syllabus -
Last update: RNDr. Jan Hric (27.04.2018)
Trees
• (a,b)-trees and their variants
• Move-to-Front strategy for lists, Splay trees
• other solutions: AVL trees, red-black trees, BB-alpha trees
Heaps
• regular heaps
• binomial heaps
• Fibonacci heaps
Techniques for memory hierarchy
• I/O model, cache-oblivious analysis, LRU strategy for on-line paging
• examples: matrix transposition and multiplication, van Emde-Boas tree layout
• cache-aware techniques
Hashing
• collisions and their resolution, analysis for uniformly distributed data
• selecting a hash function: universal hashing, good hash functions
• cuckoo hashing
Multidimensional data structures
• KD trees
• range trees
Last update: RNDr. Jan Hric (27.04.2018)
Haldy
• regulární halda
• binomiální halda
• Fibonacciho halda
Stromy
• (a,b)-stromy a jejich varianty
• strategie Move-to-Front pro seznamy, Splay stromy
• přehled ostatních řešení: AVL stromy, červeno-černé stromy, BB-α stromy
Techniky pro paměťovou hierarchii
• I/O model, cache-oblivious analýza, strategie LRU pro on-line stránkování
• příklady: transpozice a násobení matic, van Emde-Boasovo rozložení vyhledávacích stromů
• cache-aware techniky
Hašování
• řešení kolizí, analýza pro uniformně rozdělená data
• výběr hešovací funkce: univerzální hešování a dobré hešovací funkce
• kukačkové hešování
Vícerozměrné datové struktury
• KD stromy
• range trees (intervalové stromy)
Entry requirements -
Last update: RNDr. Jiří Fink, Ph.D. (20.09.2022)
Knowledge on the level of the undergraduate Algorithms and data structures.
Last update: RNDr. Jan Hric (10.05.2024)
Predpoklady: Znalosti na úrovni bakalářské přednášky Algoritmy a datové struktury.