CS302 Advanced Data Structures & Algorithms
-- Summer II, 2000

Contents

General Information

Instructor:
Jiang B. Liu, jiangbo@bradley.edu
Professor of Computer Science & Information Systems; (309)6772386
Lecture Times:
1:00-3:00pm, MTWT, in Brd 203
Prerequisites:
CS121 Introduction to Data Structures
Office Hours:

          M-Th 3:00-4:00pm  at BR103a.

Course Materials

Topics & Schedule

This is the third computer programming class for computer science and computer information systems majors and minors. The goals of the course are to further study the data structures and algorithms based on the data structures, and to implement the data structures in C++ classes using advanced programming techniques. The programming assignments will be in relatively large program projects. I will post some C++ code for each of the assignments.
The programs will be compiled and run in Microsoft Visual C++ compiler.
 
Unit 1 
Basic Concepts
Software development life cycle
Object-oriented design
Review of C++
Algorithm and performance analysis (Big-O)
Ch. 1
Unit 2 
Arrays
Array as abstract data type
Sparse Matrices
String abstract data type
Ch. 2
Unit 3 
Stacks and Queues
C++ template class
Stack abstract data type
Queue abstract data type
Subtyping and Inheritance
Evaluation of Expressions (Post-, in-, prefix)
Ch. 3
Unit 4 
Linked Lists
Single/double linked list representation
Linked stacks and queues
Sparse Matrices
Visual functions and dynamic binding

Ch. 4
Unit 5 
Trees
Binary Trees
Heaps
Binary search trees
Set representation
Ch. 5
Unit 6 
Graphs
The graph abstract data type
Graph operations
Minimum cost spanning tree
Shortest path algorithm
Ch. 6
Unit 7 
Sorting
Insertion sort
Quick sort
Merge sort
Heap sort
External sort
Ch. 7
Unit 8
Hashing
Static hashing algorithm
Dynamic hashing algorithm
Ch.  8
Unit 9
Search
Optimal binary search tree
AVL tree
2-3 Tree
2-3-4 Tree
Red-Black tree
B-trees
Ch. 10
Unit 10
Heap Structures
Min-Max heaps
Deaps
Leftist Trees
Binomial and Fibonacci heaps
Ch. 9

Assignments

You are encouraged to help each other on the assignments, but you can not simply copy from each other. All assignments are due in the class on the due day. Later homework will have 20% subtracted from the score for every late day.

Grading

- Assignment 1: 100 pts
- Assignment 2: 100 pts
- Assignment 3: 100 pts
- Assignment 4: 100 pts
- Assignment 5: 100 pts
- Lab Exercises: 100 pts
- Final:  300 pts
(800-900 A; 710-800 B; 620-710 C; 540-620 D; below 540 F)

Communication

This class home page is posted at "http://hilltop.bradley.edu/~jiangbo/" and will be used to post the assignments and other class information. You are also encouraged to send me email about your questions related to the course or share related information with the class.