単位数: 2. 担当教員: 佐藤 雅之. 開講年度: 2024. 科目ナンバリング: TMA-MEE328E. 開講言語: English.
○
This class is given by using Google Classroom (class code: nzdrhyv)
Aims: Students will acquire basic knowledge about algorithms and data structures.
Descriptions: Evaluation methods and programming techniques for making good programs are discussed.
Goal: On completing the course, students will have the ability to design and make good programs.
Prerequisites for regular course students are "Practice of Information Processing" and "Computer Seminar I." Taking "Fundamentals of Information Science I" is strongly recommended. Prerequisites for JYPE/DEEP/IMAC-U students are similar to the courses above. Students should have some knowledge of computer languages, preferably C or Python.
1. Introduction of this course, Computation, Algorithms
2. Evaluation of computational complexity
3. Data structures, Abstract Data Types (ADTs)
4. Basic data structures: array, list
5. Basic data structures: stack, queue
6. Basic data structures: graph, tree
7. Basic data structures: set, table (dictionary), hashing
8. Priority queue, heap
9. Binary search tree and Balanced search tree
10. Sorting: bubble sort, shell sort, bucket sort, radix sort, insertion sort
11. Sorting: heap sort, quick sort, merge sort
12. Graph searching: breadth-first search, depth-first search
13. Graph algorithms: minimum spanning tree, shortest path problem
14. Optimization problems
15. Wrap-up and Final Examination
Refer to the item 授業時間外学習(E)
Review: In order to understand the topics better, you should read again the handouts and the reference materials following the lectures.
The grade will come from the in-class final exam and two or three assignments. The final exam might be changed to an additional assignment.