← All courses
CS 210 · 4 credits
Data Structures
Learn how programs organize data and why that choice decides speed. You will count steps to build Big-O intuition, then implement and use arrays, strings, linked lists, stacks, queues, hash tables, trees, heaps, and graphs in Python, finishing with a decision framework for picking the right structure in interviews and real code.
Your progress0/29 lessons · 0%
What you'll learn
- ✓Estimate the running time of code with Big-O by counting steps, and explain O(1), O(n), O(log n), and O(n²) growth
- ✓Explain how arrays, dynamic arrays, and strings sit in memory and predict which operations are cheap or expensive
- ✓Implement linked lists, stacks, queues, a chained hash table, a binary search tree, and graph representations from scratch in Python
- ✓Use Python's built-in structures (list, dict, set, deque, heapq) fluently and know the cost of every common operation
- ✓Apply the core scanning and traversal patterns — binary search, two pointers, sliding window, BFS, and DFS — and explain why each meets its cost bound
- ✓Choose the right data structure for a problem by naming the operations it must make fast