CS 234: Data Types and Structures


This page contains the slides and examples used in lectures.

Please note that the contents may vary considerably after the lectures have been given.

Week 1: Course Overview and Python Review

Sept. 7th: Course Overview; Python review (part 1); example1.py; example2.py; example3.py; example4.py

Week 2: Abstract Data Types and Array

Sept. 12: Abstract Data Types

Sept. 14: Arrays

Week 3: Sets and Maps, Algorithm Analysis

Sept. 19: Sets and Maps

Sept. 21: Algorithm Analysis; sumN.py; contains.py

Week 4: Linked Lists

Sept. 26: Linked Lists

Sept. 28: Advanced Linked Lists

Week 5: Searching and Sorting

Oct. 3 & 5: Searching and Sorting

Week 6: Advanced Sorting

Oct. 12: Advanced Sorting

Week 7: Stacks and Queues

Oct. 17: Stacks

Oct. 19: Queues

Week 8: Hash Tables

Oct. 24: Hash Tables

Oct. 26: Midterm Review

Week 9: Trees and Heaps

Oct. 31: Trees

Nov. 2: Heaps; Expression Trees

Week 10: Search Trees

Nov. 7 & 9: Binary Search Trees

Week 11: Self-Balancing Binary Search Trees & Recursion

Nov. 14: AVL Trees

Nov. 16: Recursion; Recursion.ipynb

Week 12: Graphs

Nov. 21 & 23: Graphs

Week 13: Graph Algorithms and Final Review

Nov. 28: Shortest Path; Dijkstra's Algorithm Demo; Minimum Spanning Trees; Kruskal's Algorighm Demo; Prim's Algorighm Demo

Nov. 30: Final Review