CS507 - Data Structures and Analysis of Algorithms
(Summer Semester 1999)
Text Used
Clifford A. Shaffer: A Practical Introduction
to Data Structures and Algorithm Analysis,Prentice
Hall, 1997, (this is the C++ version)
Syllabus
Note. Homework assignments will be posted
on the day they are supposed to be handed out.
June 9: Data Structures and Algorithms
-
Course objectives
-
Course overview
-
Abstract data types and data structures
June 16: Analysis of Algorithms
-
Mathematical preliminaries
-
Analyzing algorithms
-
Analyzing problems
Reading: Chapters 2 and 3.
June 23: Fundamental Data Structures
-
Reading: Chapter 4.
-
Homework Assignment 1: Project 4.6 on
page 119 of the text book.
Submit:
1. source code by e-mail
2. documentation based on the
CS documentation
template
Due date: July 14.
June 30: Trees
-
Binary trees - Definition, properties
-
Binary tree traversals
-
Implementations
-
Binary search trees
-
Heaps and priority queues
Reading: Chapters
5.
Homework Assignment 2:
Project 5.5 on page 165 of the
text book.
Submit:
1.source code
by e-mail
2.documentation
based on the CS documentation
template
Due date:
July 21.
July 7: Trees (continued)
-
General Trees
-
Implementations
-
Graph traversals
-
Graph related problems
Reading: Chapter 6 and 7.
REVIEW FOR THE MIDTERM EXAM
click
here for Sample
Exam (postscript
version)
Note that this is an actual exam given
in a Spring Semester, which is while we haven't covered some of the topics
yet.
July 14: MIDTERM EXAM
Note:There
will be lecturing after the exam (starting
at 7:30 pm). The topic willl be Internal Sorting.
Homework Assignment 3: Problem
7.10 on page 218 of the text book.
Submit:
1. source code
by e-mail
2. documentation
based on the CS documentation
template
Due date: July
28.
Homework assignment 1 was due!
July 21: Internal Sorting
-
Quadratic time Sorting
-
Fast Sorting
-
Sorting methods not based on comparisons
-
Lower bounds for sorting
-
Reading: Chapter 8.
-
Homework Assignment 4:
-
Implement Quicksort for sorting an array of integers, using the
median of three method for pivot selection.
Submit:
1. source code
by e-mail
2. documentation
based on the CS documentation
template
-
Due date: August
4.
Homework assignment 2 was due !
July 28: Searching and Indexing
-
Searching in lists
-
Hashing
-
Linear indexing
-
Tree indexing
-
B-Trees
-
Reading: Chapters 10 and 11.
Homework assignment 3 was due !
August 4 :
Advanced Topics (not required for the final)
-
Skip lists
-
Memory management
-
Tries
-
Splay trees
Reading: Chapters 12 and 13.
Homework assignment 4 was due !
August 11: FINAL EXAM
WILL BE A 48
HOURS TAKE-HOME!
-
IT WILL BE HANDED OUT AT 6:pm
ON MONDAY (Auguust 09) NIGHT IN FL320
-
IT WILL BE DUE AT
6pm ON WEDNESDAY NIGHT IN THE SAME CLASSROOM