Summer Semester 2024

Summary

Algorithms and Data Structures is a first course on fundamental data structures and algorithms. It covers theoretical analysis based on implementations in Python.

Main Textbook

  • M.T. Goodrich, R. Tamassia, and M.H. Goldwasser, Data Structures and Algorithms in Python, Wiley, 2013

Supplementary Reading

Grading

  • Weekly exercise assignments, not to be turned in, not graded. However, you are strongly encouraged to work on them before they are discussed in the exercise session on Wednesday
  • The grade for this class is determined by one final exam
  • There will be a “mock exam” 3-4 weeks before the final exam. Passing the mock exam will add a grade bonus of 1/3 of a grade step to your final grade. Note that the pass/fail decision is not affected by the bonus, and the top grade can be achieved without the bonus.

Topics

Apr 16, 2024

Introduction; concept of asymptotic analysis, big-Oh notation (GTG 3.3.1 and 3.3.2); typical growth functions (GTG 3.2)

Apr 17, 2024

Basic examples: finding the maximum, prefix averages, three-way disjointness, element uniqueness (GTG 3.3.3); arithmetic progression (GTG, Proposition 3.3); experimental analysis

Apr 23, 2024

Fundamental techniques of proof (GTG 3.4); introduction to recursion (GTG 4.1.1)

Apr 24, 2024

Discusson of Exercise Sheet 1; more recursion (GTG 4.1), remark on interpolation search

Apr 30, 2024

Discusson of Exercise Sheet 2; good and bad recursion (selected parts of GTG 4.3 and 4.4)