演算法 ( 課號 : 50339000 ) 內容 :...
TRANSCRIPT
演算法 (課號 : 50339000 )內容 :
本課程是電機工程學系計算機類課程之必選課,對象以對利用計算機來解決問題有興趣的同學為主。本課程主要是教授基本的演算法分析與設計技巧,並整理及比較目前最重要之演算法。
• Theme: What is the best algorithm for a given problem
• Three things you will learn:
1. Design a good algorithm
2. Analyze (and verify) it
3. Lower bounds: know when to stop.
Grading
1. 作業 (10%)– 3-4 homework
2. 程式 (15%) – 1 or 2 program assignments
3. 期中考 (35%)
4. 期末考 (40%)
Course Information
• Instructor: 顏嗣鈞– E-mail: [email protected]– 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 Algorith
ms, • MIT Press and McGraw-
Hill Book Company, 1990.
• We will refer to this book as “CLR”
Reference Books• G. Brassard and P. Bratle
y, • Fundamentals of Algorith
mics, • 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 Prog
ramming, 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++, P
ascal), Second Edition, • Addison Wesley, 1992
Reference Books• U. Manber, • Introduction to Algorithm
s, • Addison Wesley, 1989.
Reference Books• J. Nievergelt, • Algorithms and Data Stru
ctures (With Applications to Graphics and 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.
TopicsIf 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.