PYTHON ALGORITHMS & DATA STRUCTURES · 27 lessons
Target: Baekjoon Gold · Programmers Lv.3 · Coding Tests
12-week curriculum from Big-O and type complexity through sorting, binary search, graphs, trees, DP, advanced graphs, and applied competitive patterns. Python 3.10+, PEP 8, all examples with time/space complexity.
Part 1: Foundations
3 lessons
Time Complexity
Big-O notation, runtime and memory limits, measuring performance
Python Input & Output
sys.stdin.readline, sys.stdout.write and EOF handling
Data Structure Complexity
Time complexity of list, deque, set and dict operations
Part 2: Core Data Structures
5 lessons
Arrays & Strings
Slicing, string methods and ASCII handling
Stacks & Queues
list vs deque, bracket matching and postfix notation
Hashing
dict, set, Counter and the idea of hash collisions
Heaps & Priority Queues
heapq, min/max heaps and Top-K problems
Linked Lists
Implementing singly, doubly and circular linked lists
Part 3: Sorting & Searching
4 lessons
Sorting Algorithms
Bubble, insertion, merge and quick sort — implementation and performance
Python Sorting in Practice
sorted/sort, key functions, multiple keys and stable sorting
Binary Search
Implementing binary search plus bisect and lower/upper bounds
Parametric Search
Parametric search and the 'maximise the feasible value' pattern
Part 4: Graph Foundations
4 lessons
Graph Representation
Adjacency lists and matrices, directed, undirected and weighted graphs
DFS
Recursive and stack-based DFS, visited state and connected components
BFS
deque-based BFS, shortest paths and grid traversal
Topological Sort
Kahn (BFS) and DFS topological sort, cycle detection
Part 5: Trees
3 lessons
Tree Traversal
Pre-order, in-order, post-order and level-order traversal, recursive vs iterative
Binary Search Trees
BST insertion, search and deletion, plus the idea of balance
Tries
String search, autocomplete and prefix queries
Part 6: DP & Greedy
4 lessons
DP Foundations
Memoisation and tabulation with Fibonacci and staircase problems
Advanced DP
LCS, LIS, 0/1 knapsack and matrix-chain multiplication
Greedy Algorithms
Meeting-room scheduling, coin change, activity selection and correctness proofs
Divide & Conquer
Merge sort, quick sort, fast exponentiation and the CCW orientation test
Part 7: Advanced Graphs
3 lessons
Dijkstra
Priority-queue shortest paths and the limits of negative weights
Floyd–Warshall
A DP perspective on all-pairs shortest paths
Minimum Spanning Trees
Kruskal with union-find, and Prim
Part 8: Applied Patterns
1 lessons