The participants will after the course have detailed knowledge of many advanced data structures and general design techniques for the construction of data structures and practical experience with implementation, evalutation, and comparison of complex data structures. The working method of the course will also train the participants to read and understand research papers.
The participants must at the end of the course be able to:
Selected topics in data structures. Possible topics: Fractional cascading. Persistence: Partial persistence, Full persistence, Purely functional data structures (catenable lists). Deamortization techniques. Dynamization techniques. Sorting vs. Priority queues. RAM data structures. Dictionaries. Priority queues. List order maintenance. Interpolation search. Least common ancestor data structures. Finger search trees. Succint data structures. Implicit data structures. Deterministic hashing. Priority queues: Binomial heaps, Fibonacci heaps, Skew heaps. van Emde Boas data structures. Union-split-find data structures. Union-find data structures. Selection in heaps. Planar separators.
Gerth Stølting Brodal and Peyman Afshani.
3 hours per week. Tuesdays 9.15-12.00. Q1 in iNANO auditorium (1593-012A), Q2 in Peter Bøgh Andersen Aud., Finlandsgade 21 (5335-016).
Week | Date | Content | Literature | Slides | |
---|---|---|---|---|---|
35 | 27/8 | Binomial queues, Fibonacci heaps | [V78], [FT87, Sections 1-2,4],[DGST88, Section 1] | pptx|pdf | |
36 | 3/9 | Lecture cancelled | |||
37 | 10/9 | Finger search trees, skip lists, treaps | [B05, Sections 11.1-11.4],[LO88] | pptx|pdf | |
38 | 17/9 | RAM data structures: van Emde Boas Trees, Search Trees, Priority Queues | [BKZ77, Sections 1-5],[A95, Sections 1-4.2],[T96,Sections 1-2],[AH92, Sections 2-3] | pptx|pdf | |
39 | 24/9 | Orthogonal Point Location on the Word RAM Lecture by Peyman Afshani |
[C11] | ||
40 | 1/10 | Implicit Dictionaries and Sorting | [FG03, Section 1],[FG05, Section 1] | pptx|pdf | |
41 | 8/10 | Nearest Common Ancestors, Discrete Range Searching, Cartesian Trees | [AGKR02, Sections 1-2] | pptx|pdf | |
42-44 | Fall break | 45 | 5/11 | Maintaining Order in a List | [DS87] | pptx|pdf |
46 | 12/11 | Partial and Full Persistence, Fractional Cascading | [ST86a], [DSST89, Sections 1-3], [CG86] | pptx|pdf | |
47 | 19/11 | Functional Data Structures: Queues, Dequeues, Catenable Lists | [O95],[KT99, Sections 1-2, 7] | pptx|pdf | |
48 | 26/11 | Retroactive Data Structures | [DIL04] | pptx|pdf | |
49 | 3/12 | Unified Property for Dictionaries | [BCDI07] | pptx|pdf | |
50 | 10/12 | Maxiphobic Heaps, Self Adjusting Data Structures: Heaps and Search Trees | [O05, Section 3],[ST86b, Sections 1-3],[ST85, Sections 1-3] | pptx|pdf | |
51 | 17/12 | Selection: X+Y and Binary Heaps | [FJ82],[F93, Section 1] | pptx|pdf |
1st and 2nd (Fall 2013).
10 ETCS points.
Algoritmer og Datastrukturer 1 + 2.
Danish or English.
3 group projects (2-3 persons per group) and individual oral exam, 7-scale, internal examiner.
The exam takes 20 minutes, including evaluation. The exam will be a discussion of the reports on the projects and the material covered in class (see "course plan" above). The final grade will be based on the project reports and the oral examination.
The oral exams take place January 14-17, 2014 in Nygaard 298.