UE5 Fundamentals of Algorithms
Instructor: Romain Vuillemot
Course Description
- Basis of algorithms (sorting, search) and data structure (arrays, lists)
- Justification of the choice of data structures
- Calculate the complexity of an algorithm
- Optimize algorithms
- Writing programs using algorithms
Outline
notebook | slides
Lecture 1 - Data structures and complexity |📖 Python for Everybody chapter 9 (dictionnaries), chapter 10 (tuples)
notebook | slides | exercices
Lecture 2 - Recursion |📖 Think Python chapter 5 (Conditionals and recursion)
Lecture 3 - Lists, search, sort
📖 Think Python chapter 11 (lists), chapter 12 (tuples)
📖 Python for Everybody chapter 8 (lists)
Next topics:
-
Advanced sorting
-
Hashing
-
Trees
-
Trees and their representation
-
Tree Algorithms
-
Binary and n-trees
-
Graphs
-
Divide and conquer Programming
-
Dynamic Programming
-
Greedy Algorithms
-
Graphs shortest path algorithm
Books
- Think Python, 2nd edition, by Allen B. Downey
- Python for Everybody, by Charles Severance