CS 220IntermediateComputer science
Data Structures and Algorithms
Arrays to graphs, with visualisations and the interview patterns built on them.
153 lessons, not started
What you will learn
- Choose the right data structure for a problem
- Analyse time and space complexity
- Recognise and apply the common problem patterns
Syllabus
153 lessons in 24 sections. Take them in order, or open any lesson directly.
Phase 2: Python for DSA and CP4 lessons
Phase 4: Sorting and Searching7 lessons
Phase 5: Patterns Arrays and Strings14 lessons
- Two Pointers
- Sliding Window
- Monotonic Deque
- Prefix Sums and Difference Arrays
- Prefix Sum with HashMap
- Kadane and Maximum Subarray
- Cyclic Sort
- Matrix and Grid Manipulation
- Monotonic Stack
- Stack Parsing and Expression Evaluation
- Frequency and Anagram Counting
- Palindrome Patterns
- Trie Patterns
- Dutch National Flag and In-place Partitioning
Phase 6: Patterns Search and Selection6 lessons
Phase 7: Patterns Intervals and Greedy5 lessons
Phase 8: Patterns Linked Lists4 lessons
Phase 10: Patterns Graphs12 lessons
- Graph Traversal and Connected Components
- Breadth First Search
- Depth First Search
- Grid Traversal Islands and Flood Fill
- Multi-source BFS
- Topological Sort
- Cycle Detection and Bipartite Checking
- Union-Find Problem Patterns
- Shortest Paths: Dijkstra, Bellman-Ford, and Floyd-Warshall
- Eulerian Paths and Reconstruct Itinerary
- BFS and Dijkstra with Extra State
- 0-1 BFS and Deque Shortest Paths
Phase 11: Recursion and Backtracking4 lessons
Phase 13: Bit Manipulation and Math4 lessons
Phase 15: Simulation and Implementation1 lessons
Phase 16: Advanced Graph Algorithms3 lessons
Phase 18: Templates and Cheatsheets4 lessons
Phase 19: Interview and Contest Strategy5 lessons
Phase 22: Low Level Design5 lessons
Phase 23: Concurrency2 lessons