Holiday
DELTA台達212 T3T4R4
Computer algorithms specify unambiguous steps to solve specific problems. The efficiency of these algorithms can make huge impacts on the execution time or the memory requirement for solving large size problems. In this course, how to analyze an algorithm is first introduced. Then some common approaches to develop algorithms are described. That includes divide and conquer, greedy algorithms, dynamic programming, branch and bound, etc. Finally, some known hard problems that would take very long time to find the best solution are presented. If a problem falls into this category, known as NP-complete problems, then one should not try to find the exact solution, instead, a sub-optimal solution should be sought for. Extensive research on writing effective algorithms to solve practical problems have been carried out in the 20'th century, this course covers some of the basic ones to enable students to develop algorithmic skills such that they can solve practic
Course keywords: Preformance analysis, 效能分析; Divide and conquer, 分治法; Greedy method, 貪心法; Dynamic programming, 動態規劃法; Backtracking, 回溯法; NP-complete, 非多項式複雜度。 一、課程說明(Course Description) Computer algorithms specify unambiguous steps to solve specific problems. The efficiency of these algorithms can make huge impacts on the execution time or the memory requirement for solving large size problems. In this course, how to analyze an algorithm is first introduced. Then some common approaches to develop algorithms are described. That includes divide and conquer, greedy algorithms, dynamic programming, branch and bound, etc. Finally, some known hard problems that would take very long time to find the best solution are presented. If a problem falls into this category, known as NP-complete problems, then one should not try to find the exact solution, instead, a sub-optimal solution should be sought for. Extensive research on writing effective algorithms to solve practical problems have been carried out in the 20'th century, this course covers some of the basic ones to enable students to develop algorithmic skills such that they can solve practical problems in the future. 二、指定用書(Text Books) E. Horowitz, S. Sahni, and S. Rajasekeran, Computer Algorithms, 2nd Edition, Silicon Press, 2008. 三、參考書籍(References) T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms, 3rd Edition, The MIT Press, 2009. 四、教學方式(Teaching Method) Lecture and discussion. 五、教學進度(Syllabus) 1. Introduction 2. Program performance analysis 3. Divide and conquer 4. The greedy method 5. Dynamic programming 6. Traversal and search 7. Backtracking 8. Branch and bound 9. Lower bound theory 10. NP-hard and NP-complete problems 六、成績考核(Evaluation) Homework: 50% Midterm exam and quizzes : 30% Final exam: 20% 七、可連結之網頁位址 To be provided later.
MON | TUE | WED | THU | FRI | |
08:00108:50 | |||||
09:00209:50 | |||||
10:10311:00 | |||||
11:10412:00 | |||||
12:10n13:00 | |||||
13:20514:10 | |||||
14:20615:10 | |||||
15:30716:20 | |||||
16:30817:20 | |||||
17:30918:20 | |||||
18:30a19:20 | |||||
19:30b20:20 | |||||
20:30c21:20 |
Average Percentage 75.57
Std. Deviation 6.39
非常態開設課程。 須先修過資料結構
電機系大學部3年級4年級,電資院學士班大學部3年級4年級優先,第3次選課起開放全校修習
-