CS251: DATA STRUCTURES
MWF 12:30 PM, BCHM 105
Course Overview
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
sorting,
bucket-sort, radix-sort.
-
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).