Instructor: TA Class Meets: Classroom: Office Hours: Office: Email: |
Professor Zhigang Zhu n/a M,W 10:00-11:40AM NAC 7/225 M: 3:30 pm - 5:30 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 |
Aug 28 (M) Aug 30 (W) |
Lecture 1.
Introduction & Software Development Lecture 2. ADT & C++ Classes (code) |
Ch. 1 Ch 2.1-2.3; Assignment 1 |
Sep 04 (M ) Sep 06 (W) |
Labor Day;
college is closed - no class! Lecture 3. More Classes and Operator Overloading |
Ch 2.4-2.5 |
Sep 11 (M) Sep 13 (W) |
Lecture 4/5.
Container
Classes (slides for Lectures 4&5) Lecture 6. Pointers and Dynamic Arrays (I) (Slides for Lectures 6 &7) |
Ch 3 (code), Assignment 2 Ch 4.1 - 4.2 |
Sep 18 (M) Sep 20 (W) |
Lecture 7. Pointers and Dynamic Arrays (II) (point code with
pointers) NO CLASSES (College Open) |
Ch. 4.2 - 4.5 |
Sep 25 (M) Sep 27 (W) |
Lecture 8. Dynamic
Classes and the Big Three (code) Exam Review 1 |
Assignment 3 |
Oct 02 (M) Oct 04 (W) |
First Exam (Chapters 1-4) Lecture 9. Linked Lists ( code) |
Ch. 5.1-5.2 |
Oct 09 (M) Oct 11 (W) |
Columbus Day:
college is closed - no class! Lecture 10. Building &Using the Linked List Toolkit (code) & Exam 1 Discussions |
Ch. 5.3 - 5.5, Assignment 4 |
Oct 16 (M) Oct 18 (W) |
Lecture 11.
Software Development using Templates and Iterators Lecture 11a. Software Development using Templates and Iterators (cont.) |
Ch. 6, code (bag4&5,
node2) |
Oct 23 (M) Oct 25 (W) |
Lecture 12.
Stacks (code) and Queues
(code) Lecture 13. Introduction to Recursion |
Ch. 7, Ch 8 Ch. 9.1, Assignment 5 |
Oct 30 (M) Nov 01 (W) |
Lecture 14.
Using and Reasoning about Recursion Exam Review 2 |
Ch. 9.2 - 9.3 |
Nov 06 (M) Nov 08 (W) |
Second Exam (Chapters 5-9) Lecture 15. Trees and Traversals (code) |
Ch. 10.1-10.4 |
Nov 13 (M) Nov 15 (W) |
Lecture 16.
Binary Search Trees and the Bag Class with a BST Lecture 17. B-Trees and Set Class (code); Exam 2 Discussions |
Ch. 10.5, Assignment 6 Ch. 11.2 |
Nov 20 (M) Nov 22 (W) |
Lecture 18.
Heaps and Priority Queues(slides) ; Time
Analysis of Trees(slides) Lecture 19. Serial Searching and Binary Searching. Thanksgiving Break (Nov 23-26) |
Ch. 11.1, 11.3 Ch. 12.1-12.3 |
Nov 27 (M) Nov 29 (W) |
Lecture 20.
Hashing Lecture 21. Quadratic Sorting |
Ch. 12.4 Ch. 13.1 |
Dec 04 (M) Dec 06 (W) |
Lecture
22. Recursive Sorting , Heapsort & the STL
Quicksort (code) Lecture 23. Graph Basics; Exam Review 3 - Slides Updated to This Point |
Ch. 13.2-13.4 Ch. 15 |
Dec 11 (M) | Third Exam (mainly Ch 10-13, 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.