COMP15 Spring 2018
Data Structures
Last updated February 23, 2018 10:23:23 EST

General Information Syllabus Schedule Homeworks and Projects
 Labs Resources  

Syllabus

The following is a list of topics we'll cover in this course. The order in which we cover material is likely to change, although the dates of exams and homeworks/projects will not. I'll announce upcoming chapters and materials in each class so you can prepare by reading ahead.

You are responsible for being familiar with the syllabus and schedule.

Lecture materials, such as slides and source code, will be posted here, usually after class

Need a syllabus to print? Download it here.

Sections in Text Topics Materials
-- Course Introduction & Welcome  
Shaffer 1.1, 1.2 Abstract Data Types, ArrayLists pre-lab 1 solutions
Size of the web
Shaffer 3.1 Expand functions, algorithm analsys Expand function handout
Shaffer 4.1.2 Linked lists, exception handling Exceptions handout
Worksheet: Linked List vs ArrayList
Shaffer 4.1.3 Linked lists continued Worksheet: Linked Lists and Pointers
Slides: Rule of Three
Slides: iterating through a linked list
Shaffer 4.2-4.3 Queues and Stacks Slides: copy constructor and assignment operator
Worksheet: Stack and Queue run-time complexities
Shaffer 5.1-5.2 Binary Trees Handout: Inheritance Overview
Shaffer 5.4 Binary Search Trees Handout: Inheritance in C++
Handout: BT and BST Functions
Shaffer 5.4 AVL Trees (self-balancing BSTs) Handout: Insert into AVL Tree
Handout: Remove from AVL Tree,
Slides: inheritance with constructors and destructors
-- Auxiliary data structures Sample code: Stack.h
Stack.cpp
stack-sum.cpp
Shaffer 5.5 Heaps  
Shaffer 7.6 Heapsort  
Weiss 9.1 Graphs  
Weiss 9.3 Shortest paths  
Weiss 9.6 BFS, DFS  
Shaffer 13.1 Tries  
Weiss 5.1-5.2 Hashing  
Weiss 5.3 Hash tables with chaining  
Weiss 5.5 Rehashing  
Shaffer 7.1 Sorting  
Shaffer 7.2 Quadratic sorting  
Shaffer 7.4-7.5 n lg n sorting  


Laney Strange
Last updated February 23, 2018 10:23:23 EST