Lectures

The schedule of lectures and links to slides is posted below. The schedule may change during the semester, so check back regurlarly.

Date Lecture Code Slides Chapter
9/02/21 Lecture 1: Introduction to Data Structures and Algorithms Lecture 1
9/07/21 Lecture 2: Asymptotic notation and merge sort insertionsort.py mergeSort.py Lecture 2 Merge Sort, Insertion Sort
9/09/21 Lecture 3: Heapsort and Quicksort heapSort.py quickSort.py Lecture 3 Heap Sort, Binary Heap, QuickSort
9/14/21 Lecture 4: Linear-time sorting CountingSort.py BucketSort.py Lecture 4
9/16/21 Lecture 5: Data Structures in Python Lecture 5 Code Lecture 5 Basic Data Structures
9/21/21 Lecture 6: Hashing - Part I HashTable.py Lecture 6 Hashing
9/23/21 Lecture 7: Hashing - Part II
09/28/21
Exam 1 Review
 
9/30/21 Lecture 8: Binary Search Trees (BST) BinarySearchTree.py Lecture 8 Binary Search Tree
10/05/21 Lecture 9: Balanced BST binarySearchTreeAVL.py, AVLTree.py Lecture 9 AVLTree
10/07/21 Lecture 10: Dynamic Programming and Memoization VisRecursion.py, drawingTree.py, recMC.py, dpMakeChange.py, MazeSolver.py, maze2.txt Lecture 10 Dyamic Programming
10/12/21 Lecture 11: Graphs Graph.py Lecture 11 Graphs
10/14/21 Lecture 11: Graphs buckets.py, Graph.py, BFS.py
10/19/21 Lecture 12: Breadth-first search (BFS) and Dijkstra's Shortest Path PriorityQueue.py, Graph.py, Dijkstra.py Lecture 12
10/21/21 Exam 2 Review
10/26/21 Lecture 13: Shortest-path - Bellman-Ford and Prim's Algorithm Prim, Bellman-Ford Lecture 13 General Depth First Search
10/28/21
Lecture 14: Depth-first search (DFS)
Graph.py, knightGraph.py, knightTour.py, DFSGraph.py Lecture 14 Dijkstra's Algorithm
11/02/21 Lecture 15: State Machines regex.py Lecture 15 Prim's Spanning Tree
11/04/21 Lecture 16: FFT DFT.py FFT.py Lecture 16
11/09/21 Lecture 17: FFT DFT.py FFT.py Lecture 17
11/11/21 No Class - Veterans Day
11/16/21 Lecture 18: Linear Programming Linopt1.py, Linopt2.py Lecture 18
11/18/21 Lecture 19: Linear Programming & Matrix Opt. matrix_mult.py, strassen_matrix_mult.py Lecture 19
11/23/21 Lecture 20: Intro to Machine Learning I   Lecture 20
11/25/21 Thanksgiving recess
12/02/21 Lecture 20: Intro to Machine Learning II mnist_loader.py, digitRecog.py Lecture 21 Neural Networks
12/07/21 Exam 3 Review
   
Some of the material presented in the slides is based on "Problem Solving with Algorithms and Data Structures using Python by Bradley N. Miller, David L. Ranum"