160 likes | 263 Views
演算法 ( 課號 : 50339000 ). 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授 基本的演算法分析與設計技巧,並整理及比較目前最重要之 演算法。 Theme: What is the best algorithm for a given problem Three things you will learn: Design a good algorithm Analyze (and verify) it Lower bounds: know when to stop. Grading.
E N D
演算法(課號: 50339000 ) 內容: 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授 基本的演算法分析與設計技巧,並整理及比較目前最重要之 演算法。 • Theme: What is the best algorithm for a given problem • Three things you will learn: • Design a good algorithm • Analyze (and verify) it • Lower bounds: know when to stop.
Grading • 作業 (10%) • 3-4 homework • 程式 (15%) • 1 or 2 program assignments • 期中考 (35%) • 期末考 (40%)
Course Information • Instructor:顏嗣鈞 • E-mail: yen@cc.ee.ntu.edu.tw • Office: Rm. 540, E.E. Building II • Phone: 2363 5251 ext. 540 • http://www.ee.ntu.edu.tw/~yen • Office Hours: by appointment • Teaching Assistant: to be announced later • Web site: http://www.ee.ntu.edu.tw/~yen/courses/algorithm01.html
Text Book • T. Cormen, C. Leiserson, and R. Rivest, • Introduction to Algorithms, • MIT Press and McGraw-Hill Book Company, 1990. • We will refer to this book as “CLR”
Reference Books • G. Brassard and P. Bratley, • Fundamentals of Algorithmics, • Prentice-Hall, 1996.
Reference Books • G. Rawlins, • Compare to What? An Introduction to the Analysis of Algorithms, • Computer Science Press, 1992.
Reference Books • D. E. Knuth, • The Art of Computer Programming, Vol. 1 and 3, Third Edition, • Addison Wesley, 1997.
Reference Books • D. Harel, • The Science of Computing, • Addison Wesley, 1987.
Reference Books • Robert Sedgewick, • Algorithms (in C, C++, Pascal), Second Edition, • Addison Wesley, 1992
Reference Books • U. Manber, • Introduction to Algorithms, • Addison Wesley, 1989.
Reference Books • J. Nievergelt, • Algorithms and Data Structures (With Applications to Graphicsand Geometry), • Prentice-Hall, 1993.
Reference Books • B. Moret and H. Shapiro, • Algorithms from P to NP, Vol. 1, • The Benjamin/Cummings Publishing Company, Inc., 1991.
Topics • Introduction to algorithm design and analysis. • Techniques for algorithm analysis • Useful formulas. • Recurrence relations.
Topics • Techniques for algorithm design • Divide and conquer, partitioning. • Dynamic programming. • Greedy algorithms. • Backtracking. • Tree based algorithms. • Recursion. • Approximations. • Problem Transformation, reduction. • Integer programming. • Probabilistic techniques.
Topics • Sorting and searching algorithms. • Geometric algorithms • Graph algorithms. • Pattern matching algorithms • Cryptographic algorithms. • Network flow algorithms. • Intractable problems. • Introduction to computational complexity. • Reductions • NP completeness.
Topics If time permits, the following topics will be covered: • Introduction to program verification. • Introduction to approximation algorithms. • Introduction to probabilistic algorithms. • Introduction to parallel algorithms. • Introduction to distributed algorithms.