- Profs: J. Lengler, D. Steurer
- Website: None but you can use Vorlesungsverzeichnis
- Moodle: Moodle
- Admin: Admin
- Material: Material
- Video: Videos ETHZ
- Cheatsheet: cheatsheet.pdf
This course on algorithms and data structures was taught by Professors Lengler and Steurer. It covered a wide range of topics, including algorithmic thinking, basic search and sorting algorithms, fundamental data structures, dynamic programming, graph traversal, shortest path algorithms, and spanning tree algorithms. In my opinion, this was an excellent course for building a strong foundational understanding of algorithms and data structures. The course was well-structured, though at times, the explanations felt overly verbose and formal. Overall, it provided a solid introduction to the subject and was highly beneficial.
Lecture Notes
- 01 Intro To Algorithms
- 02 Star Search
- 03 Max Subarray Sum
- 04 Searching and Sorting
- 05 Sorting, Data Structures
- 06 Abstract Data Types, Binary AVL Search Trees
- 07 Dynamic Programming, Jump Game, Longest Common Subsequence, Edit Distance
- 08 Subset Sum, Knapsack, Longest Increasing Subsequence
- 09 Graph Theory, Eulerian Cycle Algorithm
- 10 Topological Ordering, Directed Graphs, Representing Graphs on Computers, Topological Sort Algorithm
- 11 Shortest Path Algorithms, Cheapest Walks in Weighted Graphs, Acyclical Graphs and Topological Sort, Dijkstra’s Algorithm
- 12 Cheapest Path Problem, Negative Cost, Bellman-Ford, Minimum Spanning Trees, Boruvka’s Algorithm, Prim’s Algorithm, Priority Queues
- 13 Kruskal’s Algorithm, Union Find, Self-Adapting Data Structures and Amortized Analysis
- 14 All Source Shortest Paths, Floyd-Warshall, Johnson’s Algorithm, Matrices and Graphs, Connected Components in Digraphs, Efficient Matrix Operations
- 15 Quick Select and Finding the Median
Study Notes
- Intro to General Algorithms
- Comparing Algorithms and Properties
- Asymptotic Notation
- Master Theorem
- Searching Algorithms
- Sorting Algorithms
- Fundamental Concepts in Graph Theory