270 likes | 464 Views
The course. Design and analysis of efficient algorithms for some basic computational problems.Basic algorithm design techniques and paradigms Algorithms analysis: O-notation, recursions,
E N D
1. 2IL65 Algorithms Fall 2011Lecture 8: Conclusions
2. The course Design and analysis of efficient algorithms for some basic computational problems.
Basic algorithm design techniques and paradigms
Algorithms analysis: O-notation, recursions,
Basic data structures
Basic graph algorithms
Basic sorting algorithms
3. Algorithms Algorithma well-defined computational procedure that takes some value, or a set of values, as input and produces some value, or a set of values, as output.
Algorithmsequence of computational steps that transform the input into the output.
Algorithms researchdesign and analysis of algorithms and data structures for computational problems.
4. Algorithms Incremental algorithmsprocess the input elements one-by-one and maintain the solution for the elements processed so far.
Divide-and-conquerbreak the problem into two or more subproblems, solve the subproblems recursively, and then combine these solutions to create a solution to the original problem.
In practice: often a combination of both.
5. Describing algorithms A complete description of an algorithm consists of three parts:
the algorithm
(expressed in whatever way is clearest and most concise, can be English and / or pseudocode)
a proof of the algorithms correctness
a derivation of the algorithms running time
6. Correctness Incremental algorithmsprocess the input elements one-by-one and maintain the solution for the elements processed so far. Proof: (often) Loop invariant Divide-and-conquerbreak the problem into two or more subproblems, solve the subproblems recursively, and then combine these solutions to create a solution to the original problem. Proof: (often) Induction