Good program comes from appropriately using the "resources" on the computer. There are two types of key resources: computational units (CPU, FPU, etc.) and storage units (memory, disk, etc., along with channels and networks). Data Structures and Algorithms discuss how to use those two types of resources suitably and effectively. Traditionally, data structures aim at the use of storage units, while algorithms aim at the use of computational units. But the two aims are actually inseparable: succinct data structures require coupling with corresponding algorithms; efficient algorithms require coupling with corresponding data structures. The course, designed as a required course for NTU CSIE students in the freshman year, introduces basic data structures and their corresponding algorithms. We will move from the concrete side of implementing basic data structures to the abstract side of analyzing the complexity of storage and computation.
date | syllabus | plan | documents and reading assignments |
02/19,02/21 | class introduction/DSA/C++ basics (Ch01) | homework 1 announced |
|
02/26,02/28 | C++ basics (Ch01); no class on 02/28 because of Peace Memorial Day |
| |
03/05,03/07 | array/linked list (Ch03) | homework 1 due; homework 2 announced |
|
03/12,03/14 | analysis tools (Ch04), stack |
|
|
03/19,03/21 | stack/queue/dequeue (Ch05), container (Ch06) | homework 2 due; homework 3 announced |
|
03/26,03/28 | list/iterator (Ch06), tree (Ch07) |
|
|
04/02,04/04 | tree (Ch07); no class on 04/04 because of Spring Break | homework 3 due; homework 4 announced |
|
04/09,04/11 | heap (Ch08) |
|
|
04/16,04/18 | midterm exam on 04/18: range: Chapters 1-8, except Chapter 2, and all class slides/notes; no class on 04/16 because of Midterm-studying | ||
04/23,04/25 | hash table/map (Ch09) |
|
|
04/30,05/02 | hash table/map (Ch09) | homework 4 due; homework 5 announced |
|
05/07,05/09 | skip list/dictionary (Ch09) | final project announced |
|
05/14,05/16 | avl tree (Ch10) | homework 5 due |
|
05/21,05/23 | avl tree/2-3-4 tree (Ch10) | homework 6 announced |
|
05/28,05/30 | 2-3-4 tree/red-black tree (Ch10) |
|
|
06/04,06/06 | sorting (Ch11) | homework 6 due |
|
06/11,06/13 | graph (Ch13) |
|
|
06/18,06/20 | no class on 06/18; graph/summary on 06/20 | final project report due on 06/27 |
|
Last updated at CST 13:07, October 04, 2023 Please feel free to contact me: ![]() |
|