Seoul National University
M1522.000900 Data Structure
Fall 2017 - U Kang

News and Announcements

Course Information

This undergraduate level course covers fundamental algorithms and data structures used in computer programming. Data structures are ways of organizing data within a computer's storage so that some desired operations may be performed on that data easily or efficiently. Algorithms are sequences of operations that, usually, take some input data and produce some desired output. Together, they form the foundation of computer programming.
The topics to be covered include abstrract data types, trees, hashing, sorting, graphs, string match, and algorithm design techniques.

Schedule

Date Topic Notice
Sep. 5 Introduction
7 Data Structures and Algorithms (Chapter 1)
12 Mathematical Preliminaries (Chapter 2)
14 Mathematical Preliminaries 2 (Chapter 2) Homework 1 out
19 Algorithm Analysis (Chapter 3)
21 Algorithm Analysis 2 (Chapter 3) Homework 2 out
26 Lists, Stacks, and Queues (Chapter 4)
28 Lists, Stacks, and Queues 2 (Chapter 4) Programming 1 out
Oct. 3 Lists, Stacks, and Queues 3 (Chapter 4): use last lecture's slide Homework 3 out
5 Binary Trees (Chapter 5)
10 Binary Trees 2 (Chapter 5) Programming 2 out
12 Binary Trees 3 (Chapter 5)
17 Binary Trees 4 (Chapter 5) Homework 4 out
19 Non-Binary Trees (Chapter 6)
24,26 Midterm
31 Non-Binary Trees 2 (Chapter 6) Homework 5 out; Programming 3 out
Nov. 2 Internal Sorting (Chapter 7)
7 Internal Sorting 2 (Chapter 7)
9 Internal Sorting 3 (Chapter 7)
14 Internal Sorting 4 (Chapter 7) Homework 6 out; Programming 4 out
16 Searching (Chapter 9)
21 Searching 2 (Chapter 9)
23 Searching 3 (Chapter 9) Homework 7 out
28 Graphs (Chapter 11) Programming 5 out
30 Graphs 2 (Chapter 11)
Dec. 5 Graphs 3 (Chapter 11) Homework 8 out
7 Conclusion
12, 14 Final

Grading

Late policy - for all deliverables:

Textbook

The text book is
A Practical Introduction to Data Structures and Algorithm Analysis, Edition 3.2 (Java Version), Mar 28, 2013 by Cliff A. Shaffer. (available in online)

Prerequisite


Last modified July. 10, 2017, by U Kang