This is the repository for the module COM5013 Algorithms and Data Structures in Python.
We shall explore a number of data structures and measure how different algorithms perform.
- 🎥 00 Welcome to COM5013.
- 🎥 01 Python Warmup I - OOP. 📝 01 Notebook - Slides & Exercises
- 🎥 1.5 Flask Setup for Web Apps 📝 1.5 Notebook - Slides & Exercises
- 🎥 02 Python Warmup II - Lists, Tuples, Sets and Dicts 📝 02 Notebook - Slides & Exercises
- 🎥 03 Numpy Arrays 📝 03 Notebook - Slides & Exercises
- 🎥 04 Linked Lists 📝 04 Notebook - Slides & Exercises
- 🎥 05 Asymptotic Complexity 📝 05 Notebook - Slides & Exercises
- 🎥 06 Search and Sorting Algorithms 📝 06 Notebook - Slides & Exercises
- 🎥 07 Stacks & Queues 📝 07 Notebook - Slides & Exercises
- 🎥 08 Heaps 📝 08 Notebook - Slides & Exercises
- 🎥 09 Hashing I - Chaining and Addressing 📝 09 Notebook - Slides & Exercises
- 🎥 10 Hashing II - Cryptography 📝 10 Notebook - Slides & Exercises
- 🎥 11 Trees I - Non-Binary and BSTs 📝 11 Notebook - Slides & Exercises
- 🎥 12 Trees II - BFS & DFS 📝 12 Notebook - Slides & Exercises
- 🎥 13 Graphs I - Theory, MSTs, Top Sort 📝 13 Notebook - Slides & Exercises
- 🎥 14 Graphs II - Dijkstra and A* 📝 14 Notebook - Slides & Exercises
- 🎥 15 Dynamic Programming I - Bottom-Up vs Top-Down 📝 15 Notebook - Slides & Exercises
- 🎥 16 Dynamic Programming II - Optimal Paths, Maximin and Minimax 📝 16 Notebook - Slides & Exercises
Check out the wiki for more info on the module