General Info


When and where Monday 8.15-12, Bldg. 421, Aud. 72.

Prerequisites Undergraduate level courses in algorithms and data structures (comparable to 02105 + 02110) and mathematical maturity. You should have a working knowledge of algorithm analysis (e.g. asymptotic notation, worst case analysis, amortized analysis, basic analysis of randomized algorithms), data structures (e.g. stacks, queues, linked lists, trees, heaps, priority queues, hash tables, balanced binary search trees, tries), graph algorithms (e.g. BFS, DFS, single source shortest paths, minimum spanning trees, topological sorting), dynamic programming, divide-and-conquer, and NP-completeness (e.g. basic reductions).


The weekplan is preliminary It will be updated during the course. Under each week there is a number of suggestions for reading material regarding that weeks lecture. It is not the intention that you read ALL of the papers. It is a list of papers and notes where you can read about the subject discussed at the lecture.

Week Topics Slides Weekplan Mandatory Material
Integer Data Structures I: Dictionaries, Universal and Perfect Hashing. 1x1 · 4x1 Hashing
Integer Data Structures II: Predecessor Problem, van Emde Boas, x-Fast and y-Fast Tries 1x1 · 4x1 Predecessor X
Integer Data Structures III: Nearest Common Ancestor, Range Minimum Query 1x1 · 4x1 LCA and RMQ
Geometry: Range Reporting, Range Trees, and kD Trees 1x1 · 4x1 Range Reporting X
Trees: Level Ancestor, Path Decompositions, Tree Decompositions 1x1 · 4x1 Level Ancestor
Strings I: Dictionaries, Tries, Suffix trees 1x1 · 4x1 Suffix Trees X
Strings II: Radix Sorting, Suffix Array, Suffix Sorting 1x1 · 4x1 Suffix Sorting
Compression: Lempel-Ziv, Re-Pair, Grammars, Compressed Computation 1x1 · 4x1 Compression X
Approximation Algorithms I: Introduction to approximation algorithms, scheduling and TSP. 1x1 · 4x1 Approximation Algorithms I
  • Algorithm Design, Kleinberg and Tardos, Addison-Wesley, section 11.0, 11.1 (on CampusNet).
  • The Design of Approximation Algorithms, Williamson and Shmoys, Cambridge Press, section 2.4 + 2.3.
Approximation Algorithms II: k-center 1x1 · 4x1 Approximation Algorithms II X
Dynamic graph algorithms I: Introduction to dynamic graphs, Even-Shiloach trees Dynamic Graphs I
Graph algorithms II: Efficient algorithm for vertex cut. pptx
1x1 · 4x1
Graph Algorithms II X
  • Paper on an efficient k-cut algorithm. (We will not go into Sections 6 and 7)
  • Video on the above paper.
  • Note: you are not expected to understand all the details in the paper, but the details in the video. The questions in the weekplan are designed to help understanding the content.
Course Roundup, Questions, Future Perspectives

Mandatory Exercises

Use the template.tex file to prepare your hand in exercises. Do not repeat the problem statement in your hand in. Compile using LaTeX. Upload the resulting pdf file (and only this file) via DTU Learn. The maximum size of the finished pdf must be at most 2 pages. An exercise from week x must be handed in no later than Sunday in week x before 20.00.

Collaboration policy for mandatory exercises

Violations of the collaboration policy will be reported.

Frequently Asked Questions

How should I write my mandatory exercises? The ideal writing format for mandatory exercises is classical scientific writing, such as the writing found in the peer-reviewed articles listed as reading material for this course (not textbooks and other pedagogical material). One of the objectives of this course is to practice and learn this kind of writing. A few tips:

How much do the mandatory exercises count in the final grade? The final grade is an overall evaluation of your mandatory exercise and the oral exam combined. Thus, there is no precise division of these part in the final grade. However, expect that (in most cases, and under normal circumstances) the mandatory exercises account for a large fraction of the final grade.

Can I write my assignments in Danish? Ja. Du er meget velkommen til at aflevere på dansk.

What do I do if I want to do a MSc/BSc thesis or project in Algorithms? Great! Algorithms is an excellent topic to work on :-) and Algorithms for Massive Data Sets is designed to prepare you to write a strong thesis. Some basic tips and points.