演算法
Algorithms
| 節 | 週一 | 週三 |
|---|---|---|
3 10:10–11:00 | 演算法 SC206 2 節連堂 | |
4 11:10–12:00 | ||
5 13:20–14:10 | 演算法 SC206 2 節連堂 | |
6 14:20–15:10 |
* 根據陽明交大上課時間表所列
「演算法」這門課的全名是「計算機方法設計與分析」, 換句話說,「演算法」是要給「計算機」用的方法,我們當然希望方法是有效率的, 因此,要如何「設計」及如何進行「分析」,就是重點! -- 「演算法」是最基本的「資訊工程」課程之一。 -- 「演算法」課程的目的在學習 “設計演算法” 及 “分析演算法” 的各種技巧, 進而明白 -- 如何為自己所要解決的問題設計出有效率的演算法,以及分析使用資源之多寡。
需有 "程式寫作" 之經驗,並且修過 "資料結構"或自學過 "資料結構"。 PS. 沒有 "資料結構" 基礎的同學,不適合修這門課。 PS. 已經修過 (任何學校大學部 or 研究所) "演算法" 課程的同學,不需要修這門課。
(i) 修課人數上限為10人,優先順序為: 交大應數乙組碩博 >> 交大應數其餘碩博 (需經授課老師同意) >> 交大應數大四 (需經授課老師同意)。 (ii) 期中考、期末考、小組上台報告的時間,為 星期四 19:00~21:30。 (iii) 本課程為 3學分 3小時課程,但是佔用4小時的時段,以使作業檢討、考試檢討不佔用授課時間 (iv) 我很在意學生是否盡力學習,因此,無法自動自發努力者,請勿修本課程! (v) 預定進度有可能修改!
平時表現及作業佔30%,小組上台報告佔10%,期中考1佔20%,期中考2佔20%,期末考佔20% 注意: 小組上台報告所選定的報告內容,需要與我們的授課內容高度相關,不接受將其他課程的簡報拿來報告 注意: 小組成員以2~4人為原則,不接受1人所形成的小組
| 週次 | 主題 |
|---|---|
| 第 1 週 | 1 The Role of Algorithms in Computing 2 Getting Started 3 Growth of Functions 4 Divide-and-Conquer (Matrix Multiplication) 6 Heapsort 7 Quicksort 8 Sorting in Linear Time *9 Medians and Order Statistics *15 Dynamic Programming 期中考1: (四) 19:00~21:30 |
| 第 2 週 | *16 Greedy Algorithms *17 Amortized Analysis *19 Fibonacci Heaps *21 Data Structures and Disjoint Sets 22 Elementary Graph Algorithms 23 Minimum Spanning Trees 24 Single-source Shortest Paths 期中考2: (四) 19:00~21:30 |
| 第 3 週 | 25 All-pairs Shortest Paths *26 Maximum Flow *32 String Matching 小組上台報: (四) 19:00~21:30 *34 NP-Completeness *35 Approximation Algorithms 期末考: (一) 12:40~15:10 |
Introduction to Algorithms, 3rd Edition, 2009, The MIT Press Cormen, Leiserson, Rivest, and Stein
- 地點
- SA345
- 時間
- 5GH
- 聯絡方式
- email: cychen@mail.nctu.edu.tw