Instructor: TA Class Meets: Classroom: Office Hours: Office: Email: |
Professor Zhigang Zhu n/a M,W 2:00-3:40PM Shepard S-209 Wednesday: 11:45 am - 1:45 pm NAC 8/211 ds.zhu.ccny@gmail.com |
(1) implement these structures as classes in C++;You will also learn part of object-oriented programming and software development methodology.
(2) determine which structures are appropriate in various situations;
(3) confidently learn new structures beyond what are presented in this class.
To become a Data Structures Expert start by learning... |
Supplements: The Code for the Book and the Corrections for the Text will be useful and may be found by clicking here.
Date | Planned Lecture Topics | Read/Assign/Exam |
Jan 28 (M) Jan 30 (W) |
Lecture 1.
Introduction & Software Development Lecture 2. ADT & C++ Classes (code) |
Ch. 1 Ch 2.1-2.3; Assignment 1 |
Feb 04 (M ) Feb 06 (W) |
Lecture 3.
More Classes and Operator Overloading Lecture 4/5. Container Classes (slides for Lectures 4&5) |
Ch 2.4-2.5 Ch 3 (code), Assignment 2 |
Feb 11 (M) Feb 13 (W) |
Lecture
6. Pointers and Dynamic Arrays (I) (Slides for
Lectures 6 &7) Lecture 7. Pointers and Dynamic Arrays (II) (point code with pointers) |
Ch 4.1 - 4.2 Ch. 4.2 - 4.5 |
Feb 18 (T) Feb 20 (W) |
College is closed -
no class! Lecture 8. Dynamic Classes and the Big Three (code) |
Assignment 3 |
Feb 25 (M) Feb 27 (W) |
Exam Review 1
First Exam (Chapters 1-4) |
|
Mar 04 (M) Mar 06 (W) |
[ CCNY closed due to weather] Lecture 9. Linked Lists ( code) |
Ch. 5.1-5.2, Assignment 4 |
Mar 11 (M) Mar 13 (W) |
Lecture 10.
Building &Using the Linked List Toolkit (code) & Exam 1 Discussions Lecture 11. Software Development using Templates and Iterators |
Ch. 5.3 - 5.5 Ch. 6, code (bag4&5, node2) |
Mar 18 (M) Mar 20 (W) |
Lecture 11a. Software
Development using Templates and Iterators (cont.) Lecture 12. Stacks (code) and Queues (code) |
Ch. 7, Ch 8 |
Mar 25 (M) Mar 27 (W) |
Lecture 13.
Introduction to Recursion Lecture 14. Using and Reasoning about Recursion |
Ch. 9.1, Assignment 5 Ch. 9.2 - 9.3 |
Apr 01 (M) Apr 03 (W) |
Exam Review
2 Second Exam (Chapters 5-9) |
|
Apr 08 (M) Apr 10 (W) |
Lecture 15. Trees
and Traversals (code) Lecture 16. Binary Search Trees and the Bag Class with a BST |
Ch. 10.1-10.4 Ch. 10.5, Assignment 6 |
Apr 15 (M) Apr 17 (W) |
Lecture 17.
B-Trees and Set Class (code); ; Exam 2 Discussions Lecture 18. Heaps and Priority Queues(slides) ; Time Analysis of Trees(slides) |
Ch. 11.2 Ch. 11.1, 11.3 |
Apr 22 (M) Apr 24 (W) |
Spring Recess April 19 - April 28 |
|
Apr 29 (M) May 01 (W) |
Lecture 19.
Serial Searching and Binary Searching. Lecture 20. Hashing |
Ch. 12.1-12.3 Ch. 12.4 |
May 06 (M) May 08 (W) |
Lecture
21. Quadratic Sorting Lecture 22. Recursive Sorting , Heapsort & the STL Quicksort (code) |
Ch. 13.1 Ch. 13.2-13.4 |
May 13 (M) May 15 (W) |
Lecture 23.
Graph Basics; Exam Review 3
- Slides Updated to This
Point Third Exam (mainly Ch 10-13, 15) [Following a Monday Schedule] |
Ch. 15 |
Policies: Students may discuss ideas together. But since each student get credits for his or her submissions, all actual program code and written answers must be done individually by each student, and must not be shared.
Communications: I would like the course to run smoothly and enjoyably. Feel free to let me know what you find good and interesting about the course. Let me know as soon as possible about the reverse. You may see me in my office during my hours or send me messages by e-mail.