Data Structure & Algorithms
| Course Purpose |
|---|
| The purpose of this course is to understand the basic algorithm and data structure to be able to make an effective program for data processing using a computer. |
| Learning Goals |
| The goals are to: 1) understand the basic algorithm and data structure for sorting and searching, and 2) be able to analyze the computational complexity of a given algorithm. |
| Topic | |
|---|---|
| Session 1 | Calculations and algorithms, examples of algorithms |
| Session 2 | Topics related to computational complexity evaluation and program design |
| Session 3 | Basic data structure (1): list, stack, queue |
| Session 4 | Basic data structures (2): graphs, trees and binary trees |
| Session 5 | Basic data structures (3): sets and dictionaries |
| Session 6 | Set of ordered sets (1): Priority queue, heap |
| Session 7 | Set of ordered sets (2): Binary search tree, balanced search tree |
| Session 8 | Alignment algorithm (1): Bubble sort, selection sort, insertion sort |
| Session 9 | Alignment algorithm (2): Heapsort |
| Session 10 | Alignment algorithm (3): Quicksort |
| Session 11 | Alignment algorithm (4): Merge sort, lower bound of the computational complexity of the alignment algorithm |
| Session 12 | Alignment algorithm (5): Bucket sort, radix sort |
| Session 13 | Algorithm design: dynamic programming |
| Session 14 | Final exam |