Data Structures Lectures for Spring 2018

Lecture

Date

Topics

Resources

In-Class Questions

01

Jan 9

Ch 1: Python Review

Video Answers

Python Review Questions

02

Jan 11

Ch. 2: Algorithm Analysis; Big-oh; timing

Video Answers

Python classes and algorithm analysis questions

03

Jan 16

Ch. 2: Performance of Python Built-in data structures


More algorithm and built-in data structures analysis questions

04

Jan 18

Ch. 3: Linear data structures; stack implementations


Stack implementation questions

05

Jan 23

Stack applications; Queue implementations


Linked stack implementation questions

06

Jan 25

Queue applications; Deque


Deque questions

07

Jan 30

Ch. 6.6: Priority Queue: binary heap implementation


Heap questions

08

Feb 1

Unordered Lists implementations

unorderedList.zip

Unsorted linked list questions

09

Feb 6

Ordered List implementation Ch. 4: Recursion: fibonacci example


Ordred linked list and Intro to recursion questions

10

Feb 8

Ch. 4: Recursion continued


More recursion questions

11

Feb 13

Review for Test 1


Test 1 Review Topics

Test 1 Fall 2017

Test 1 Fall 2017 Solution

Test 1 Spring 2017

Test 1 Spring 2017 Solution

Test 1 Fall 2016

Test 1 Fall 2016 Solution

Test 1 Spring 2016

Test 1 Spring 2016 Solution

Test 1 Fall 2015

Test 1 Fall 2015 Solution

Test 1 Spring 2015

Test 1 Spring 2015 Solution

Test 1 Fall 2014

Test 1 Fall 2014 Solution

Test 1 Spring 2014

Test 1 Spring 2014 Solution

Test 1 Fall 2013

Test 1 Fall 2013 Solution

Test 1 Spring 2013

Test 1 Spring 2013 Solution

Test 1 Fall 2012

Test 1 Fall 2012 Solution

12

Feb 15

Test 1: Chapters 1 - 3



13

Feb 20

Recursion examples: backtracking coin-change problem an dynamic programming


Coin-change questions

14

Feb 22

Ch. 5: Searching: linear and binary search

On-line Hashing Tutorial

Searching questions

15

Feb 27

Searching: hashing: chaining/closed addressing implementations


Hashing questions

16

March 1

Hashing implementations: open addressing implementations; Simple sorts: bubble, selecton, and insertion sorts;


Simple sort questions

17

March 6

Advanced sorts: heap, merge, and quick sorts


Advanced sort questions

18

March 8

Ch. 6: tree terminology, binary tree implementation, traversals, parse tree application


Tree questions

19

March 20

Binary Search Tree implementation


Binary Search Tree questions

20

March 22

Binary Search Tree delete method


BST delete questions

21

March 27

Review for Test 2


Test 2 Review Topics

Test 2 Fall 2017

Test 2 Fall 2017 Solution

Test 2 Spring 2017

Test 2 Spring 2017 Solution

Test 2 Fall 2016

Test 2 Fall 2016 Solution

Test 2 Spring 2016

Test 2 Spring 2016 Solution


Test 2 Fall 2015

Test 2 Fall 2015 Solution

Test 2 Spring 2015

Test 2 Spring 2015 Solution

Test 2 Fall 2014

Test 2 Fall 2014 Solution

Test 2 Spring 2014

Test 2 Spring 2014 Solution

Test 2 Fall 2013

Test 2 Fall 2013 Solution

Test 2 Spring 2013

Test 2 Spring 2013 Solution

Test 2 Fall 2012

Test 2 Fall 2012 Solution

22

March 29

Test 2: Chapters 4 – 5



23

April 3

AVL trees


AVL Tree questions

24

April 5

File Structures vs. Data Structures

Good B+ Tree Summary

Wikipedia B+ Tree discussion

B+ Tree

File structure questions

25

April 10

Ch. 7: Graph terminology, traversals (BFS and DFS)


Graph questions

26

April 12

Graph implementations, Graph algorithm: topological sort


More Graph questions

27

April 17

Graph algorithms: Dijkstra’s algorithm, Prim's Algorithm

Code mostly from lecture:

lec27.zip

Even More Graph questions

28

April 19

Graph algorithms: Traveling Salesperson Problem (TSP)


TSP problem Backtracking & Best-first search questions

29

April 24

Approximation algorithm for TSP


TSP problem Approximation Algorithm questions

30

April 26

Review for Final Exam


Final Exam Review Topics

Final Exam, Tuesday (May 1) 8:00-9:50 AM in Wright 9