CS251: DATA STRUCTURES
MWF 12:30 PM, BCHM 105
This course deals with the concepts and theory of data structures using
object oriented design principles and java as the implementation language.
Week 1. Design Principles (Ch.1).
Data structures and algorithms.
Week 2. Analysis Tools (Ch.2).
Asymptotic notation, asymptotic analysis.
Week 3. Stacks, Queues, and Linked Lists (Ch.3).
Including double-ended queues.
Week 4. Sequences (Ch.4).
Ranked, positional, and general sequences.
Week 5. Trees (Ch.5).
Emphasis on binary trees.
Week 6. Trees (Ch.5).
Week 7. Priority Queues (Ch.6).
Implementations using sequences and heaps.
Week 8. Dictionaries (Ch.7).
Implementations using binary search trees, AVL trees,
skip lists, hash tables.
Week 9. Dictionaries (Ch.7).
Week 10. Sorting, Sets, and Selection (Ch.8).
Merge-sort, quick-sort, lower bound on comparison-based
Week 11. Graphs (Ch.9).
Graph traversal, directed graphs.
Week 12. Graphs (Ch.9), weighted graphs (Ch. 10).
Week 13. Strings (Ch.11).
String ADT, Matching.
Week 14: Basic Algorithmic Techniques (Ch. 12).
Week 15. Balanced Search Trees (Ch.13).