| 課程大綱 Syllabus |
學生學習目標 Learning Objectives |
單元學習活動 Learning Activities |
學習成效評量 Evaluation |
備註 Notes |
序 No. | 單元主題 Unit topic |
內容綱要 Content summary |
| 1 | 課程簡介及演算法概觀(Introduction) |
1. 學習目標、課程大綱
2. 評分方式:筆記、作業、小考、期中考、期末考
3. 演算法定義
4. 排序問題介紹
5. 演算法正確性及效率 |
學習演算法基礎,包括演算法定義、問題範例。了解演算法正確性及效率 |
講授
|
作業
|
|
| 2 | 排序法(Sort) |
1. 插入排序法
2.合併排序法 |
學習遞增法、分而治之法以排序問題為例 |
講授
|
|
|
| 3 | 演算法入門(Fundamentals of the Analysis of Algorithm Efficiency) |
1. 虛擬碼表示法
2. 演算法分析法
3. 執行時間分析
4. 執行時間的成長級數
5. 演算法效率
6. 演算法設計:遞增法、分而治之法 |
學習演算法的正確性及執行時間分析 |
講授
|
|
|
| 4 | 函數的成長率(Concept of Function) |
1. 演算法的漸進式效率
2. 漸進式表示法、定義、及範例
3. 漸進式數學性質:遞移性、反身性、對稱性、反身對稱性 |
學習函數成長率及其數學性質 |
講授
|
|
|
| 5 | 分而治之 I(Decrease-and-Conquer) |
1. 分而治之概述
2. 極大子陣列問題
3. 矩陣乘法
4. 以替代法解遞迴
5. 以遞迴樹法解遞迴
6. 以支配理論法解遞迴 |
學習分而治之及其範例:極大子陣列、矩陣乘法。
學習解數學遞迴的方法,包括替代法、遞迴樹、支配理論 |
講授
|
|
|
| 6 | 分而治之 II(Decrease-and-Conquer) |
1. 分而治之概述
2. 極大子陣列問題
3. 矩陣乘法
4. 以替代法解遞迴
5. 以遞迴樹法解遞迴
6. 以支配理論法解遞迴 |
學習分而治之及其範例:極大子陣列、矩陣乘法。
學習解數學遞迴的方法,包括替代法、遞迴樹、支配理論 |
講授
|
|
|
| 7 | 堆積排序法(Heap Sort) |
1. 堆積定義、性質
2. 堆積的各種程序、正確性及執行時間分析
3. 堆積排序法 |
學習利用堆積結構及程序來做排序 |
講授
|
|
|
| 8 | 快速排序法(Quick Sort) |
1. 快速排序法的分而治之架構
2. 快速排序法正確性、執行時間分析 |
學習快速排序法之分而治之架構極其分析 |
講授
|
|
|
| 9 | 期中考(Midterm Exam) |
期中考 |
評估學生到期中考前課程內容之理解程度 |
|
期中考
|
|
| 10 | 雜湊表(哈希表) |
1. 雜湊表概觀極其機制
2. 雜湊表之直接定址、串鍊、及開放尋址
2. 碰撞解決及各種探索法 |
學習雜湊表技術、直接定址、串鍊、及開放尋址。
了解碰撞解決及各種探索法 |
|
|
|
| 11 | 動態規劃(Dynamic Programming) |
1. 動態規劃概述
2. 裝配線調度問題
3. 矩陣串乘法
4. 最長共同子序列問題 |
學習動規劃方法及各種問題,包括裝配線調度、矩陣串乘法、最長共同子序列問題 |
講授
|
|
|
| 12 | 貪婪演算法(Greedy Technique) |
1. 貪婪演算法概述
2. 活動選擇問題
3. 霍夫曼編碼 |
Learn the main concept of greedy algorithms, and the knapsack problem
學習貪婪演算法及各種問題,包括 活動選擇問題、霍夫曼編碼 |
講授
|
|
|
| 13 | 基本圖演算法(Graph Algorithm) |
1. 圖的表示法
2. 深度優先搜尋
3. 廣度優先搜尋
4. 拓樸排序法
5. 找出強連通元件 |
學習圖表示法、基本演算法。延伸至拓樸排序法、及找出強連通元件 |
講授
|
|
|
| 14 | 最小生成樹(Minimum Spanning Tree, MST) |
1. 接線問題概述
2. 最小生成樹形成演算架構
3. 最小生成樹形成演算架構之迴圈不變量
4. Kruskal演算法
5. Prim演算法
5. 找出強連通元件 |
從問題中認識最小生成樹,以通用最小生成樹演算架構為基礎,學習不同做法,包括Kruskal和Prim法。 |
講授
|
|
|
| 15 | 單一起點最短路徑(Shortest Path |
1 最短路徑問題
2. 單一起點最短路徑問題
3. Bellman-Ford 演算法
4. Dijkistra 演算法 |
學習單一起點最短路徑問題,及各種演算法包括Bellman-Ford及Dijkistra |
講授
|
|
|
| 16 | 期末考(Final Exam) |
期末考 |
評估學生到期中至期末課程內容之理解程度 |
|
期末考
|
|
| 17 | 彈性教學 (Alternative Curriculum) |
彈性教學 (Alternative Curriculum) |
彈性教學 (Alternative Curriculum) |
媒體教學
|
彈性教學
|
|
| 18 | 彈性教學 (Alternative Curriculum) |
彈性教學 (Alternative Curriculum) |
彈性教學 (Alternative Curriculum) |
媒體教學
|
彈性教學
|
|