本課程是由 國立陽明交通大學電機工程學系 提供。
The study of algorithms is at the heart of the computer science.
This course focuses on fundamental results in this area, including the unifying principles and underlying concepts of algorithm design and analysis.
We expect everyone to be comfortable reading, even writing, proofs. Several programming assignments will be given to embody the ideas.
Moreover, we hope that everyone can learn general problem-solving techniques.
Intended audience:
1. who are interested in computer science
2. who are computing something
3. who are learning problem-solving techniques
課程用書:
J. Kleinberg and E. Tardos, Algorithm Design, Addison Wesley, 2006.
(J. Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008)
為求學習成效完美,請購買課本!
授課教師 | 電機工程學系 江蕙如老師 |
---|---|
課程學分 | 3學分 |
授課年度 | 103學年度 |
授課對象 | 大學生 |
預備知識 | 1. Data structures 2. Discrete mathematics 3. Computer programming in C 4. Computer programming in C++ |
課程提供 | 課程影音 課程綱要 課程行事曆 |
週次 | 課程內容 | 課程影音 | 課程下載 |
---|---|---|---|
第一週 | 課程介紹 | 線上觀看 | MP4下載 |
第一週 | Chapter 1 Introduction (1/2) | 線上觀看 | MP4下載 |
第二週 | Chapter 1 Introduction (2/2) | 線上觀看 | MP4下載 |
第二週 | Chapter 2 Algorithm analysis (1/2) | 線上觀看 | MP4下載 |
第三週 | Chapter 2 Algorithm analysis (2/2) | 線上觀看 | MP4下載 |
第三週 | Chapter 3 Graphs (1/4) | 線上觀看 | MP4下載 |
第四週 | Chapter 3 Graphs (2/4) | 線上觀看 | MP4下載 |
第四週 | Chapter 3 Graphs (3/4) | 線上觀看 | MP4下載 |
第五週 | Chapter 3 Graphs (4/4) | 線上觀看 | MP4下載 |
第五週 | Chapter 4 Greedy algorithms (1/5) | 線上觀看 | MP4下載 |
第七週 | Chapter 4 Greedy algorithms (2/5) | 線上觀看 | MP4下載 |
第七週 | Chapter 4 Greedy algorithms (3/5) | 線上觀看 | MP4下載 |
第九週 | Chapter 4 Greedy algorithms (4/5) | 線上觀看 | MP4下載 |
第九週 | Chapter 4 Greedy algorithms (5/5) | 線上觀看 | MP4下載 |
第十週 | Chapter 5 Divide and conquer (1/2) | 線上觀看 | MP4下載 |
第十週 | Chapter 5 Divide and conquer (2/2) | 線上觀看 | MP4下載 |
第十三週 | Chapter 6 Dynamic programming (1/3) | 線上觀看 | MP4下載 |
第十四週 | Chapter 6 Dynamic programming (2/3) | 線上觀看 | MP4下載 |
第十四週 | Chapter 6 Dynamic programming (3/3) | 線上觀看 | MP4下載 |
第十五週 | Chapter 7 Network flow (1/2) | 線上觀看 | MP4下載 |
第十五週 | Chapter 7 Network flow (2/2) | 線上觀看 | MP4下載 |
第十六週 | Chapter 8 Beyond Polynomial running times (1/2) | 線上觀看 | MP4下載 |
第十六週 | Chapter 8 Beyond Polynomial running times (2/2) | 線上觀看 | MP4下載 |
第十七週 | Chapter 9 Linear Programming | 線上觀看 | MP4下載 |
課程目標
The study of algorithms is at the heart of the computer science.
This course focuses on fundamental results in this area, including the unifying principles and underlying concepts of algorithm design and analysis.
We expect everyone to be comfortable reading, even writing, proofs. Several programming assignments will be given to embody the ideas.
Moreover, we hope that everyone can learn general problem-solving techniques.
Intended audience:
1. who are interested in computer science
2. who are computing something
3. who are learning problem-solving techniques
課程章節
主題 | 內容綱要 |
Introduction | Stable matching and some representative problems |
Basics of algorithm analysis | Asymptotic order of growth, case study on stable matching |
Graphs | Connectivity, traversal, bipartiteness testing, topological sorting |
Greedy algorithms | Interval scheduling, shortest paths, minimum spanning tree, (Huffman codes) |
Divide and conquer | Mergesort, recurrence relations, counting inversions, finding the closest pair of points, (convolutions & FFT) |
Dynamic programming | Weighted interval scheduling, memoization/iteration, segented least squares, subset sums & Knapsacks, RNA secondary structure, sequence alignment, shortest paths |
Network flow | Maximum-flow and min-cut, bipartite matching, airline scheduling |
NP and computational intractability | Polynomial-time reductions, satisfiability, NP, NP-completeness, graph coloring |
PSPACE | Optional |
Approximation algorithms | Optional |
Local search | |
Randomized algorithms | Optional |
Algorithms that run forever | Optional |
課程書目
§ Required text
J. Kleinberg and E. Tardos, Algorithm Design, Addison Wesley, 2006.
(J. Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008)
§ Reference book
S. Dasgupta, C. Papadimitriou, and U. Vazirani, Algorithms, McGraw-Hill, 2007.
評分標準
項目 | 百分比 |
Homework assignments | 15% |
Programming assignments | 10% |
Projects | 25% |
Two open book in-class tests | 25%+25% |
本課程行事曆提供課程進度與考試資訊參考。
學期週次 | 上課日期 | 參考課程進度 |
第一週 | 09/15、09/17 |
|
第二週 | 09/22、09/24 |
|
第三週 | 09/29、10/01 |
|
第四週 | 10/06、10/08 |
|
第五週 | 10/13、10/15 |
|
第六週 | 10/20、10/22 |
|
第七週 | 10/27、10/29 |
|
第八週 | 11/03、11/05 |
|
第九週 | 11/10、11/12 |
|
第十週 | 11/17、11/19 |
|
第十一週 | 11/24、11/26 |
|
第十二週 | 12/01、12/03 |
|
第十三週 | 12/08、12/10 |
|
第十四週 | 12/15、12/17 |
|
第十五週 | 12/22、12/24 |
|
第十六週 | 12/29、01/31 |
|
第十七週 | 01/05、01/07 |
|
第十八週 | 01/12、01/14 |
|