演算法 ( 課號 : 50339000 ) 內容 :...

16
演演演 ( 演演 : 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.

Upload: spencer-cook

Post on 13-Jan-2016

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

演算法 (課號 : 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.

Page 2: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Grading

1. 作業 (10%)– 3-4 homework

2. 程式 (15%) – 1 or 2 program assignments

3. 期中考 (35%)

4. 期末考 (40%)

Page 3: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

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

Page 4: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

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”

Page 5: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books• G. Brassard and P. Bratle

y, • Fundamentals of Algorith

mics, • Prentice-Hall, 1996.

Page 6: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books

• G. Rawlins, • Compare to What? An

Introduction to the Analysis of Algorithms,

• Computer Science Press, 1992.

Page 7: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books• D. E. Knuth, • The Art of Computer Prog

ramming, Vol. 1 and 3, Third Edition,

• Addison Wesley, 1997.

Page 8: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books

• D. Harel, • The Science of Computing,

• Addison Wesley, 1987.

Page 9: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books

• Robert Sedgewick, • Algorithms (in C, C++, P

ascal), Second Edition, • Addison Wesley, 1992

Page 10: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books• U. Manber, • Introduction to Algorithm

s, • Addison Wesley, 1989.

Page 11: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books• J. Nievergelt, • Algorithms and Data Stru

ctures (With Applications to Graphics and Geometry),

• Prentice-Hall, 1993.

Page 12: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Reference Books

• B. Moret and H. Shapiro,

• Algorithms from P to NP, Vol. 1,

• The Benjamin/Cummings Publishing Company, Inc., 1991.

Page 13: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

Topics• Introduction to algorithm design and analysis.

• Techniques for algorithm analysis– Useful formulas.– Recurrence relations.

Page 14: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

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.

Page 15: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

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.

Page 16: 演算法 ( 課號 : 50339000 ) 內容 : 本課程是電機工程學系計算機類課程之必選課,對象以對利 用計算機來解決問題有興趣的同學為主。本課程主要是教授

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.