Introduction
We will learn algorithms and data structures in Python.
Times and Contact Information
This class is given on Monday, Wednesday, and Friday afternoon Mumbai time (IST) via zoom at 17:30 (5:30 pm). You can reach me at tschwarz at calprov dot org.
https://us02web.zoom.us/j/88496384434?pwd=bzdnSS80bmRNWExnYWhWOHYxTDNuQT09 Meeting ID: 884 9638 4434 Passcode: 1946
Module 1: Abstract Data Structures
November 30, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here]
- collatz.py [click here]
Module 2: Arrays
December 2, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- lpi.py [click here]
- timer.py [click here]
Module 3: Stacks
December 2, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- rpn.py [click here]
- stack.py [click here]
Module 4: Linked Lists I
December 4, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- node.py [click here]
- linked_list.py [click here]
Module 5: Linked Lists II
December 7, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- dll.py [click here]
- odll.py [click here]
Module 6: Binary Trees
December 9, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- bin_tree.py [click here]
Module 7: Binary Trees II
December 14, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- bin_tree.py [click here]
- bin_tree.py [click here]
Module 7: Priority Queues and Heaps
December 16, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here
- bin_tree.py [click here]
- bin_tree.py [click here]
- median.py [click here]
Module 8: Balanced Trees
December 18, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pdf) [click here]
- Presentation ADS (key) [click here]
- Presentation ADS (pptx) [click here]
- Presentation ADS (pdf) [click here]
- Homework (pdf) [click here
Module 9: Fundamentals and Growth of Functions
December 21, 2020
- Presentation Video (mp4) [click here]
- Presentation RAM model (pdf) [click here]
- Presentation RAM model (key) [click here]
- Presentation RAM model (pptx) [click here]
- Presentation Growth (pdf) [click here]
- Presentation Growth (key) [click here]
- Presentation Growth model (pptx) [click here]
- Homework (pdf) [click here
Module 10: B-trees
December 23, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- No Homework because of Xmas
Module 11: B-trees 2 and Hashing
December 28, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here]
- Hashing: see next module
Module 12: Hashing 2
December 30, 2020
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here]
Module 14: Linear Hashing
January 4, 2021
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here]
Module 15: Sorting 1: Bubble sort, Insertion sort, Selection sort, Maximum, Minimum
January 6, 2021
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here]
Module 16: Divide and Conquer Algorithms
January 8, 2021
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (pdf) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (key) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Presentation (pptx) [click here]
- Presentation (pptx) [click here]
Module 19: Quicksort and Merge Sort, Lower bound, Linear time sorting
January 11, 2021
- Presentation Video (mp4) [click here]
- Presentation (pdf) [click here]
- Presentation (key) [click here]
- Presentation (pptx) [click here]
- Homework (pdf) [click here]
- Presentation Video (mp4) [click here]
Module 20: Heap Sort
January 13, 2021