演算法概論
Introduction to Algorithms
學期
111-2
學分
3
學分
當期課號
910227
永久課號
SESE10085
開課單位
系統工程與科技學士學位學程
授課教師
周兆龍
類別
必修
上課時間表
| 節 | 週一 | 週二 |
|---|---|---|
3 10:10–11:00 | 演算法概論 2 節連堂 | |
4 11:10–12:00 | ||
9 17:30–18:20 | 演算法概論 |
* 根據陽明交大上課時間表所列
概述
1.課程目標為使學生瞭解如何評估程式是否有效率,懂得如何分析演算法的好壞,且能思考演算法有哪些設計策略,以培養學生有能力根據不同情況運用不同策略設計出適當的演算法。 2.培養學生問題分析能力、邏輯思考能力及獨立設計演算法之能力。
先修科目
程式設計、資料結構
教學方式
助教1員
評分方式
1.平時成績(作業、小考、上課表現):40% 2.期中考:30% 3.期末考:30%
週次計畫
| 週次 | 主題 |
|---|---|
| 第 1 週 | Course Intro. & Overview |
| 第 1 週 | Course Intro. & Overview |
| 第 2 週 | Algorithms Efficiency, Analysis, and Order |
| 第 2 週 | Algorithms Efficiency, Analysis, and Order |
| 第 3 週 | Divide and Conquer (1/2) |
| 第 3 週 | Divide and Conquer (1/2) |
| 第 4 週 | Divide and Conquer (2/2) |
| 第 4 週 | Divide and Conquer (2/2) |
| 第 5 週 | Greedy (1/2) |
| 第 5 週 | Greedy (1/2) |
| 第 6 週 | Greedy (2/2) |
| 第 6 週 | Greedy (2/2) |
| 第 7 週 | Dynamic Programming (1/2) |
| 第 7 週 | Dynamic Programming (1/2) |
| 第 8 週 | Dynamic Programming (2/2) |
| 第 8 週 | Dynamic Programming (2/2) |
| 第 9 週 | Midterm Exam |
| 第 9 週 | Midterm Exam |
| 第 10 週 | Sorting (1/2) |
| 第 10 週 | Sorting (1/2) |
| 第 11 週 | Sorting (2/2) |
| 第 11 週 | Sorting (2/2) |
| 第 12 週 | Backtracking |
| 第 12 週 | Backtracking |
| 第 13 週 | Branch-and-Bound |
| 第 13 週 | Branch-and-Bound |
| 第 14 週 | Graph Algorithms (1/2) |
| 第 14 週 | Graph Algorithms (1/2) |
| 第 15 週 | Graph Algorithms (2/2) |
| 第 15 週 | Graph Algorithms (2/2) |
| 第 16 週 | Number-Theoretic Algorithms |
| 第 16 週 | Number-Theoretic Algorithms |
| 第 17 週 | The Theory of NP-Completeness |
| 第 17 週 | The Theory of NP-Completeness |
| 第 18 週 | Final Exam |
| 第 18 週 | Final Exam |
教科書
Foundations of Algorithms, 5ed、R. E. Neapolitan、開發圖書、2015