Data Structures 2 - NTIN067
Title: Datové struktury 2
Guaranteed by: Department of Theoretical Computer Science and Mathematical Logic (32-KTIML)
Faculty: Faculty of Mathematics and Physics
Actual: from 2020
Semester: summer
E-Credits: 3
Hours per week, examination: summer s.:2/0, Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech
Teaching methods: full-time
Guarantor: RNDr. Jiří Fink, Ph.D.
Mgr. Martin Mareš, Ph.D.
Class: Informatika Mgr. - Teoretická informatika
Informatika Mgr. - Matematická lingvistika
Informatika Mgr. - Diskrétní modely a algoritmy
Classification: Informatics > Theoretical Computer Science
Co-requisite : NTIN066
Opinion survey results   Examination dates   Noticeboard   
Annotation -
This course extends NTIN066 Data Structures I. It covers more advanced techniques of design and analysis of data structures: deterministic representation of static sets, data structures for integers, basic data structures for graphs, dynamic cache-oblivious search trees, dynamization, persistence, succinct data structures, computation in stream model.
Last update: T_KTI (25.04.2016)
Aim of the course - Czech

Naučit pokročilejší datové struktury a metody jejich návrhu a analýzy.

Last update: T_KTI (25.04.2016)
Course completion requirements - Czech

Předmět je zakončen zkouškou, u níž se ověřuje porozumění látce z přednášky a schopnost aplikovat ji na řešení obdobných problémů.

Last update: Mareš Martin, Mgr., Ph.D. (02.03.2018)
Literature -

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, 1984

Last update: T_KTI (26.04.2016)
Syllabus -

Static dictionaries:

• FKS perfect hashing

• deterministic dictionaries (Hagerup, Miltersen, Pagh)

• reduction of universe

Integer data structures:

• van Emde-Boas trees

• x-fast a y-fast trees

• Fusion trees

Graph data structures:

• heavy-light decomposition of trees

• path updates based on lazy evaluation

• Link-Cut trees (Sleator, Tarjan)

• incremental connectivity (Union-Find)

General transforms of data structures:

• semidynamization and dynamization

• persistence

Cache-oblivious structures:

• Ordered File Maintenance

• B-trees

Succinct data structures:

• strings over non-binary alphabets

• succinct representation of trees

Computation in stream model:

• determinisitic search for frequent elements

• randomized search for frequent elements

• estimating the number of distinct elements

Last update: T_KTI (25.04.2016)