Outline/Readings CPS305: Data Structures
M. Soutchanski
Fall 2005
Check this page periodically for modification.
Text: Data Structures & Program Design
in C. Second Edition. Authors: Kruse, Tondo and Leung. Prentice-Hall, 1997. ISBN 0-13-288366-X
Potential Topics: (subject to change).
Note: Ci means Chapter i in the text.
Programming Principles and Intro to Soft. Eng. (C1 &C2 except GOL details) (approx 1 week)
Introduction
Style
Coding, Testing, Refinement (stubs, drivers, program tracing, testing)
Maintenance
Algorithm Development (information hiding, modularity)
Coding (Simple List)
Program Analysis and Comparison
Stacks and Recursion (C3, except C3.3) (approx 2 weeks)
Stacks ADT
Contiguous
Linked
Introduction to Recursion (stack frames for subprograms, tree of calls)
Divide and Conquer
Principles of Recursion (tail recursion, iteration vs. recursion)
Queues, Pointers and Linked Lists (C4, except C4.4 and C4.7) (approx 1 week)
Queues ADT
Contiguous (linear and circular) queues
Pointers and Linked Lists
Linked Queues
ADT definitions (Section 4.8)
General Lists (C5 except C5.3, C5.4, C5.5, C5.6) (approx 1 week)
General Lists ADT (vs. restricted lists ADTs)
Contiguous
Simply linked and doubly linked
Comparison of Implementations (contiguous vs. linked)
Searching (C6 except C6.3) (approx 2 weeks)
Sequential
Binary Search
Lower Bounds and Asymptotics
Applications
Sorting (C7 except C7.4, C7.9) (approx 2 weeks)
Insertion Sort
Selection Sort
Divide-and-Conquer Sorts
Mergesort
Quicksort
Complexity analysis of sorting algorithms
Comparisons
Hashing (only C8.6, C8.7 and C8.4 ) (approx 1.5 weeks)
Tables
Hashing Methods
Analysis
Trees (C9 except 9.3, 9.5,) (approx 2 weeks)
Binary, AVL
Graphs (only C11.1, C11.2 and C11.3)
Depth-First and Breadth-First Algorithms
CPS305 Course Management Form
CPS305 Announcements
Course Start Page