一、課程說明(Course Description)
*欲加簽本課程的同學,請務必在開學第一周前加簽,並參加第一次課堂上課。
**本課程可以參考網路解答或使用AI的解答,但禁止直接抄襲。
先修:計算機程式語言設計(一)及(二)、資料結構
AI 使用規則: 有條件開放,請註明如何使用生成式AI於課程產出 Conditionally open; please specify how
generative AI will be used in course output
目的:讓學生具有發現問題、定義問題、設計程式以解決問題的能力,並加強學生的邏輯思考與解
題能力。
課程大網:
I. Foundations
1. The Role of Algorithms in Computing
2. Getting Started
3. Growth of Functions
4. Divide and Conquer
II. Sorting and Order Statistics
6. Heapsort
7. Quicksort
8. Sorting In Linear Time
9. Medians and Order Statistics
IV. Advanced Design and Analysis Techniques
14. Dynamic Programming
15. Greedy Algorithms
16. Amortized Analysis
VI. Graph Algorithms
20. Elementary Graph Algorithms
21. Minimum Spanning Trees
22. Single-Source Shortest Paths
23. All-Pairs Shortest Paths
VII. Selected Topics
33. Machine Learning Algorithm (option)
34. NP-Completeness
35. Approximation Algorithms
二、指定用書(Text Books)
T. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to algorithms, Fourth
edition, the MIT press, 2022.
三、參考書籍(References)
Richard Neapolitan and Kumarss Naimipour, Foundations of Algorithms, 4th
edition, Jones and Bartlett, 2010
四、教學方式(Teaching Method)
課堂投影片教學。
五、成績考核(Evaluation)
1. 課堂表現 (含隨堂考)
2. 作業 (紙本)
3. 期中考
4. 期末考
(以上成績百分比,將視課堂狀況決定)