CS 341 Data Structures
(UNDER CONSTRUCTION)
General Information
Syllabus
User
Group
IEEE Meetings
INTRODUCTION TO COMPUTER SCIENCE
by Robert Sedgewick and Kevin Wayne
of Princeton University. It's my favorite one-stop website that
provides an excellent introduction to various CS subjects. I highly
recommend you check it out if you want to become a solid CS major.
Homework Assignments
Homework 1
Homework 2
Homework 3
Homework 4
Homework 5
Homework 6
Code
ADT Sphere example including equals() and compareTo()
ADT List with array-based implementation
ADT List with reference-based implementation
Project 1 Files
ADT Stack Files including the array-based, reference-based, and List-based implementations. (StackTest.java is modified in the way that the
try-catch block, instead of the isFull() method, is used to safe-guard the push operations. With the change, isFull() in StackArrayBased.java is set to
be private instead of public.)
ADT Queue Files including the array-based, reference-based, and List-based implementations.
Project 2 Files
Projects
(Coming Soon!)
Project 1
Project 2
Project 3
(Test Cases)
Tentative Schedule and Lecture Notes
WEEK 1 to WEEK 4
- Review of Java Fundamentals Reading:
Chapter 1
- Introduction
Reading: Chapter 2 (Ignore loop invariant)
- ADT and Java Interface
Reading: Chapter 4
- Linked Lists Reading:
Chapter 5
- Recursion Reading: Chapter 3
- Algorithm Efficiency
Reading: Chapter 10 Section 1
WEEK 5 to WEEK 6
- Stacks Reading: Chapter
7
- Queues Reading: Chapter 8
- Exam I (TBD)
WEEK 7
- Algorithm Efficiency Revisit and Sorting
Reading: Chapter 10 Sorting
WEEK 8 to WEEK 9
-
Trees Part A Reading:
Chapter 11 Trees and Binary Trees
-
Trees Part B Reading:
Chapter 11 Binary Search Trees
- Tables Reading: Chapter 12 The ADT
Table
WEEKS 10 to WEEK 12
- Priority Queues and Heap
Reading: Chapter 12 The ADT Priority Queue
- 2-3 Trees and 2-3-4 Trees
Reading: Chapter 13 2-3 Trees and 2-3-4 Trees
- Balanced BSTs
Reading: Chapter 13 Red-Black Trees and AVL Trees
- Hash Tables
Reading: Chapter 13 Hashing
- Exam II (TBD)
WEEK 13 to WEEK 14
- Graphs Reading Chapter 14
- External Methods
Reading Chapter 15 part 1
WEEK 15
-
B-Trees Reading Chapter 15 part 2
-
Introduction to JCF
FINAL WEEK: Final Exam (TBD)