SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
Iris Hui-Ru Jiang Fall 2014
DEE3504
ALGORITHMS
IRIS H.-R. JIANG
Administrative Matters
Introduction
2
¨ Time/location: 1CD3A@SC204
¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang
¤ Email: huiru.jiang@gmail.com
¤ Office: ED540, ext. 31211
¤ Office hours: 1X (made by appointment)
¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦
¤ Email: nctuee.alg@gmail.com
¤ Lab: ED413, ext. 54226
¤ Office hours: 2EF
¨ Prerequisite: two out of the following courses
¤ Data structures
¤ Discrete mathematics
¤ Computer programming in C
¤ Computer programming in C++
IRIS H.-R. JIANG
Reading Materials
Introduction
3
¨ Course webpage:
¤ e3, NCTU open course ware
¨ Required text:
¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006
n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine,
2008
n Cornell
¨ Reference:
¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms,
McGraw-Hill, 2007
n UC Berkeley
¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd
Ed., McGraw Hill/MIT Press, 2009
n Bible! MIT
IRIS H.-R. JIANG
Course Objectives
Introduction
4
¨ Study unifying principles and concepts of algorithm design
¤ Algorithmic problems form the heart of computer science
¨ Polish your critical thinking and problem-solving technique
¤ Algorithmic problems tend to come bundled together with lots of
messy, application-specific detail, some of it essential, some of it
extraneous
¤ Two fundamental components
n Get to the mathematically clean core of a problem
n Identify the appropriate algorithm design techniques based on
the structure of the problem
¨ Intended audience:
¤ Who are interested in computer science
¤ Who are computing something
¤ Who are learning problem-solving techniques
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Course Content (1/3)
¨ Introduction
¤ An opening problem: stable marriages
¤ Range of problems we will consider
¨ Background:
¤ Basics of algorithm analysis
¤ Graphs
¨ General algorithmic techniques
¤ Greedy algorithms
n Finding optimal solutions with greedy methods
n Scheduling time intervals
n The minimum spanning tree problem
¤ The divide and conquer method
n Some basic primitives in computational geometry
Introduction
5
*The details are subject to change
IRIS H.-R. JIANG
Course Content (2/3)
¤ Dynamic programming with many applications
n Weighted interval scheduling
n Knapsack problems
n Shortest paths
n Sequence alignment
n Including efficient implementation via divide and conquer
¤ Flows and cuts in networks
n The basic flow and cut problems
n Basic methods: augmenting paths
n Application to matching
n Polynomial time methods
n Extensions to more general models
n Applications to resource allocation, sequencing, and
segmentation
Introduction
6
*The details are subject to change
IRIS H.-R. JIANG
Course Content (3/3)
¨ Computational Intractability (Optional)
¤ NP-completeness
n Hardness of problems in optimization and constraint
satisfaction
n How to show NP-completeness: reducibility
n Examples including the traveling salesman problem, 3-
dimensional matching, covering, packing, partitioning
problems, and subset sum
¤ PSPACE completeness
n Hardness of problems in artificial intelligence and game-
playing
Introduction
7
*The details are subject to change
IRIS H.-R. JIANG
Course Content (Optional)
¨ Algorithms for hard problems
¤ Improved exponential methods
¤ Approximation algorithms
n greedy algorithms (load balancing, facility location)
n The application of linear programming
¤ Local search techniques
n The Metropolis Algorithm
n Simulated annealing
n Applications to graph partitioning and neural networks
¨ Randomized algorithms
¤ Including contention-resolution protocols and satisfiability
heuristics
¨ Algorithms that run forever
Introduction
8
*The details are subject to change
IRIS H.-R. JIANG
Grading Policy
Introduction
9
¨ Grading:
¤ Homework: 15%
¤ Programming: (two mini-projects: 10% + project: 25%)
¤ Exams: (Midterm: 25% + Final: 25%)
¨ Homework  programming:
¤ Discussions are encouraged. However, solutions should be
written individually and separately (no credits for plagiarism)
¤ No late submission (partial solutions may get partial credits)
¤ Homework is usually due in two weeks
¤ Programming assignments are usually due in two or three weeks
¨ Exams
¤ No discussions, solutions should be written individually
IRIS H.-R. JIANG
What is an Algorithm?
Introduction
10
¨ Definition: An algorithm is
¤ A finite, definite, effective procedure, with some output
[Donald Knuth, 1968]
¤ Input: may have
¤ Output: must have
¤ Definiteness: must be clear and unambiguous
¤ Finiteness: terminate after a finite number of steps
¤ Effectiveness: must be basic and feasible with pencil and paper
¤ Procedure: the sequence of specific steps in a logical order
¨ Cf. An algorithm is
¤ A well-defined procedure for transforming some input to a desired
output [Cormen et al. Introduction to Algorithms, 2nd Ed.]
problem solution
Problem-solving
procedure
IRIS H.-R. JIANG
Grading Policy
Introduction
9
¨ Grading:
¤ Homework: 15%
¤ Programming: (two mini-projects: 10% + project: 25%)
¤ Exams: (Midterm: 25% + Final: 25%)
¨ Homework  programming:
¤ Discussions are encouraged. However, solutions should be
written individually and separately (no credits for plagiarism)
¤ No late submission (partial solutions may get partial credits)
¤ Homework is usually due in two weeks
¤ Programming assignments are usually due in two or three weeks
¨ Exams
¤ No discussions, solutions should be written individually
IRIS H.-R. JIANG
What is an Algorithm?
Introduction
10
¨ Definition: An algorithm is
¤ A finite, definite, effective procedure, with some output
[Donald Knuth, 1968]
¤ Input: may have
¤ Output: must have
¤ Definiteness: must be clear and unambiguous
¤ Finiteness: terminate after a finite number of steps
¤ Effectiveness: must be basic and feasible with pencil and paper
¤ Procedure: the sequence of specific steps in a logical order
¨ Cf. An algorithm is
¤ A well-defined procedure for transforming some input to a desired
output [Cormen et al. Introduction to Algorithms, 2nd Ed.]
problem solution
Problem-solving
procedure

Más contenido relacionado

Similar a algorithm_0introdunction.pdf

The Art and Science of Technical Writing
The Art and Science of Technical WritingThe Art and Science of Technical Writing
The Art and Science of Technical Writing
jehovah
 
A323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.pptA323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.ppt
CheriviralaNikhil
 
New books dec 2012
New books dec 2012New books dec 2012
New books dec 2012
maethaya
 
finding nobel prize window by PageRank
finding nobel prize window by PageRankfinding nobel prize window by PageRank
finding nobel prize window by PageRank
Yuji Fujita
 

Similar a algorithm_0introdunction.pdf (20)

Gate
GateGate
Gate
 
Algorithms - Jeff Erickson.pdf
Algorithms - Jeff Erickson.pdfAlgorithms - Jeff Erickson.pdf
Algorithms - Jeff Erickson.pdf
 
K-12 Computer Science Framework GaDOE Update
K-12 Computer Science Framework GaDOE UpdateK-12 Computer Science Framework GaDOE Update
K-12 Computer Science Framework GaDOE Update
 
The Art and Science of Technical Writing
The Art and Science of Technical WritingThe Art and Science of Technical Writing
The Art and Science of Technical Writing
 
Technical Writing.ppt
Technical Writing.pptTechnical Writing.ppt
Technical Writing.ppt
 
Discrete Structure
Discrete Structure Discrete Structure
Discrete Structure
 
Course contents
Course contentsCourse contents
Course contents
 
A323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.pptA323568347_29695_5_2024_Lecture0_INT232.ppt
A323568347_29695_5_2024_Lecture0_INT232.ppt
 
New books dec 2012
New books dec 2012New books dec 2012
New books dec 2012
 
Research skills
Research skillsResearch skills
Research skills
 
finding nobel prize window by PageRank
finding nobel prize window by PageRankfinding nobel prize window by PageRank
finding nobel prize window by PageRank
 
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
The Design and Analysis of Computer Algorithms [Aho, Hopcroft & Ullman 1974-0...
 
FDS Unit I_PPT.pptx
FDS Unit I_PPT.pptxFDS Unit I_PPT.pptx
FDS Unit I_PPT.pptx
 
Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...Computational Thinking in the Workforce and Next Generation Science Standards...
Computational Thinking in the Workforce and Next Generation Science Standards...
 
Do you think OOP when writing topics?
Do you think OOP when writing topics?Do you think OOP when writing topics?
Do you think OOP when writing topics?
 
CS8451 DAA Unit-I.pptx
CS8451 DAA Unit-I.pptxCS8451 DAA Unit-I.pptx
CS8451 DAA Unit-I.pptx
 
How to become a data scientist
How to become a data scientist How to become a data scientist
How to become a data scientist
 
ENG101 LECTURE 13 TECHNICAL REPORT.pptx
ENG101 LECTURE 13 TECHNICAL  REPORT.pptxENG101 LECTURE 13 TECHNICAL  REPORT.pptx
ENG101 LECTURE 13 TECHNICAL REPORT.pptx
 
Thriving in Our Digital World — A CS Principles Course
Thriving in Our Digital World — A CS Principles CourseThriving in Our Digital World — A CS Principles Course
Thriving in Our Digital World — A CS Principles Course
 
Data Science Training and Placement
Data Science Training and PlacementData Science Training and Placement
Data Science Training and Placement
 

Más de HsuChi Chen

Más de HsuChi Chen (14)

algorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdfalgorithm_6dynamic_programming.pdf
algorithm_6dynamic_programming.pdf
 
algorithm_1introdunction.pdf
algorithm_1introdunction.pdfalgorithm_1introdunction.pdf
algorithm_1introdunction.pdf
 
algorithm_9linear_programming.pdf
algorithm_9linear_programming.pdfalgorithm_9linear_programming.pdf
algorithm_9linear_programming.pdf
 
algorithm_4greedy_algorithms.pdf
algorithm_4greedy_algorithms.pdfalgorithm_4greedy_algorithms.pdf
algorithm_4greedy_algorithms.pdf
 
algorithm_3graphs.pdf
algorithm_3graphs.pdfalgorithm_3graphs.pdf
algorithm_3graphs.pdf
 
algorithm_7network_flow.pdf
algorithm_7network_flow.pdfalgorithm_7network_flow.pdf
algorithm_7network_flow.pdf
 
algorithm_2algorithm_analysis.pdf
algorithm_2algorithm_analysis.pdfalgorithm_2algorithm_analysis.pdf
algorithm_2algorithm_analysis.pdf
 
algorithm_8beyond_polynomial_running_times.pdf
algorithm_8beyond_polynomial_running_times.pdfalgorithm_8beyond_polynomial_running_times.pdf
algorithm_8beyond_polynomial_running_times.pdf
 
algorithm_5divide_and_conquer.pdf
algorithm_5divide_and_conquer.pdfalgorithm_5divide_and_conquer.pdf
algorithm_5divide_and_conquer.pdf
 
期末專題報告書
期末專題報告書期末專題報告書
期末專題報告書
 
單晶片期末專題-報告二
單晶片期末專題-報告二單晶片期末專題-報告二
單晶片期末專題-報告二
 
單晶片期末專題-報告一
單晶片期末專題-報告一單晶片期末專題-報告一
單晶片期末專題-報告一
 
模組化課程生醫微製程期末報告
模組化課程生醫微製程期末報告模組化課程生醫微製程期末報告
模組化課程生醫微製程期末報告
 
單晶片期末專題-初步想法
單晶片期末專題-初步想法單晶片期末專題-初步想法
單晶片期末專題-初步想法
 

Último

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Último (20)

Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

algorithm_0introdunction.pdf

  • 1. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 2. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 3. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 4. Iris Hui-Ru Jiang Fall 2014 DEE3504 ALGORITHMS IRIS H.-R. JIANG Administrative Matters Introduction 2 ¨ Time/location: 1CD3A@SC204 ¨ Instructor: 㱆啀⥩ Iris Hui-Ru Jiang ¤ Email: huiru.jiang@gmail.com ¤ Office: ED540, ext. 31211 ¤ Office hours: 1X (made by appointment) ¨ Teaching assistants: 愔⭰ⓙ㜵㉦䝦 ¤ Email: nctuee.alg@gmail.com ¤ Lab: ED413, ext. 54226 ¤ Office hours: 2EF ¨ Prerequisite: two out of the following courses ¤ Data structures ¤ Discrete mathematics ¤ Computer programming in C ¤ Computer programming in C++ IRIS H.-R. JIANG Reading Materials Introduction 3 ¨ Course webpage: ¤ e3, NCTU open course ware ¨ Required text: ¤ Kleinberg and Tardos, Algorithm Design, Addison Wesley, 2006 n Jon Kleinberg, 20 Best Brains under 40, Discover Magazine, 2008 n Cornell ¨ Reference: ¤ S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani, Algorithms, McGraw-Hill, 2007 n UC Berkeley ¤ Cormen, Leiserson, Rivest, Stein, Introduction to Algorithms, 3rd Ed., McGraw Hill/MIT Press, 2009 n Bible! MIT IRIS H.-R. JIANG Course Objectives Introduction 4 ¨ Study unifying principles and concepts of algorithm design ¤ Algorithmic problems form the heart of computer science ¨ Polish your critical thinking and problem-solving technique ¤ Algorithmic problems tend to come bundled together with lots of messy, application-specific detail, some of it essential, some of it extraneous ¤ Two fundamental components n Get to the mathematically clean core of a problem n Identify the appropriate algorithm design techniques based on the structure of the problem ¨ Intended audience: ¤ Who are interested in computer science ¤ Who are computing something ¤ Who are learning problem-solving techniques
  • 5. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 6. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 7. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 8. IRIS H.-R. JIANG Course Content (1/3) ¨ Introduction ¤ An opening problem: stable marriages ¤ Range of problems we will consider ¨ Background: ¤ Basics of algorithm analysis ¤ Graphs ¨ General algorithmic techniques ¤ Greedy algorithms n Finding optimal solutions with greedy methods n Scheduling time intervals n The minimum spanning tree problem ¤ The divide and conquer method n Some basic primitives in computational geometry Introduction 5 *The details are subject to change IRIS H.-R. JIANG Course Content (2/3) ¤ Dynamic programming with many applications n Weighted interval scheduling n Knapsack problems n Shortest paths n Sequence alignment n Including efficient implementation via divide and conquer ¤ Flows and cuts in networks n The basic flow and cut problems n Basic methods: augmenting paths n Application to matching n Polynomial time methods n Extensions to more general models n Applications to resource allocation, sequencing, and segmentation Introduction 6 *The details are subject to change IRIS H.-R. JIANG Course Content (3/3) ¨ Computational Intractability (Optional) ¤ NP-completeness n Hardness of problems in optimization and constraint satisfaction n How to show NP-completeness: reducibility n Examples including the traveling salesman problem, 3- dimensional matching, covering, packing, partitioning problems, and subset sum ¤ PSPACE completeness n Hardness of problems in artificial intelligence and game- playing Introduction 7 *The details are subject to change IRIS H.-R. JIANG Course Content (Optional) ¨ Algorithms for hard problems ¤ Improved exponential methods ¤ Approximation algorithms n greedy algorithms (load balancing, facility location) n The application of linear programming ¤ Local search techniques n The Metropolis Algorithm n Simulated annealing n Applications to graph partitioning and neural networks ¨ Randomized algorithms ¤ Including contention-resolution protocols and satisfiability heuristics ¨ Algorithms that run forever Introduction 8 *The details are subject to change
  • 9. IRIS H.-R. JIANG Grading Policy Introduction 9 ¨ Grading: ¤ Homework: 15% ¤ Programming: (two mini-projects: 10% + project: 25%) ¤ Exams: (Midterm: 25% + Final: 25%) ¨ Homework programming: ¤ Discussions are encouraged. However, solutions should be written individually and separately (no credits for plagiarism) ¤ No late submission (partial solutions may get partial credits) ¤ Homework is usually due in two weeks ¤ Programming assignments are usually due in two or three weeks ¨ Exams ¤ No discussions, solutions should be written individually IRIS H.-R. JIANG What is an Algorithm? Introduction 10 ¨ Definition: An algorithm is ¤ A finite, definite, effective procedure, with some output [Donald Knuth, 1968] ¤ Input: may have ¤ Output: must have ¤ Definiteness: must be clear and unambiguous ¤ Finiteness: terminate after a finite number of steps ¤ Effectiveness: must be basic and feasible with pencil and paper ¤ Procedure: the sequence of specific steps in a logical order ¨ Cf. An algorithm is ¤ A well-defined procedure for transforming some input to a desired output [Cormen et al. Introduction to Algorithms, 2nd Ed.] problem solution Problem-solving procedure
  • 10. IRIS H.-R. JIANG Grading Policy Introduction 9 ¨ Grading: ¤ Homework: 15% ¤ Programming: (two mini-projects: 10% + project: 25%) ¤ Exams: (Midterm: 25% + Final: 25%) ¨ Homework programming: ¤ Discussions are encouraged. However, solutions should be written individually and separately (no credits for plagiarism) ¤ No late submission (partial solutions may get partial credits) ¤ Homework is usually due in two weeks ¤ Programming assignments are usually due in two or three weeks ¨ Exams ¤ No discussions, solutions should be written individually IRIS H.-R. JIANG What is an Algorithm? Introduction 10 ¨ Definition: An algorithm is ¤ A finite, definite, effective procedure, with some output [Donald Knuth, 1968] ¤ Input: may have ¤ Output: must have ¤ Definiteness: must be clear and unambiguous ¤ Finiteness: terminate after a finite number of steps ¤ Effectiveness: must be basic and feasible with pencil and paper ¤ Procedure: the sequence of specific steps in a logical order ¨ Cf. An algorithm is ¤ A well-defined procedure for transforming some input to a desired output [Cormen et al. Introduction to Algorithms, 2nd Ed.] problem solution Problem-solving procedure