Top Banner
Algorithms Algorithm: what is it ?
23

Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Mar 29, 2015

Download

Documents

Anais Duford
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

Algorithm: what is it ?

Page 2: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

Algorithm: what is it ?

Some representative problems :

- Interval Scheduling

Page 3: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

Algorithm: what is it ?

Some representative problems :

- Interval Scheduling

- Bipartite Matching

Page 4: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

Algorithm: what is it ?

Some representative problems :

- Interval Scheduling

- Bipartite Matching

- Independent Set

Page 5: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

Algorithm: what is it ?

Some representative problems :

- Interval Scheduling

- Bipartite Matching

- Independent Set

- Area of a Polygon

Page 6: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

How to decide which algorithm is better ?

Search problem

Input : a sequence of n numbers (in an array A) and a number x

Output : YES, if A contains x, NO otherwise

Page 7: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Algorithms

How to decide which algorithm is better ?

Search problem

Input : a sequence of n numbers (in an array A) and a number x

Output : YES, if A contains x, NO otherwise

What if A is already sorted ?

Page 8: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

O(n) – running time of the linear search

O(log n) – running time of the binary search

Def : Big-Oh (asymptotic upper bound)

f(n) = O(g(n)) if there exists a constant c > 0 and a constant n0 such that for every n ¸ n0 we have f(n) · c g(n)

Examples :

n, n3, log n, 2n, 7n2 + n3/3, 1, 1 + log n, n log n, n + log n

Page 9: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

Def : Big-Oh (asymptotic upper bound)

f(n) = O(g(n)) if there exists a constant c > 0 and a constant n0 such that for every n ¸ n0 we have f(n) · c g(n)

Example: Prove that n = O(n3)

Page 10: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

Def : Big-Oh (asymptotic upper bound)

f(n) = O(g(n)) if there exists a constant c > 0 and a constant n0 such that for every n ¸ n0 we have f(n) · c g(n)

Example: Prove that n3 = O(7n2+n3/3)

Page 11: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

Def : Big-Oh (asymptotic upper bound)

f(n) = O(g(n)) if there exists a constant c > 0 and a constant n0 such that for every n ¸ n0 we have f(n) · c g(n)

Example: Prove that log10 n = O(log n)

Page 12: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

Def : Big-Oh (asymptotic upper bound)

f(n) = O(g(n)) if there exists a constant c > 0 and a constant n0 such that for every n ¸ n0 we have f(n) · c g(n)

Example: what about 3n and 2n

Page 13: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

O(n) – running time of the linear search

O(log n) – running time of the binary search

Def : Big-Omega (asymptotic lower bound)

f(n) = (g(n)) if there exists a constant c > 0 and a constant n0 such that for every n ¸ n0 we have f(n) ¸ c g(n)

Examples :

n, n3, log n, 2n, 7n2 + n3/3, 1, 1 + log n, n log n, n + log n

Page 14: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

Running Time

O(n) – running time of the linear search

O(log n) – running time of the binary search

Def : Theta (asymptotically tight bound)

f(n) = (g(n)) if there exists constants c1, c2 > 0 and a constant n0 such that for every n ¸ n0 we have c1 g(n) · f(n) · c2 g(n)

Examples :

n, n3, log n, 2n, 7n2 + n3/3, 1, 1 + log n, n log n, n + log n

Page 15: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

1. for i=1 to n do2. something

Linear

Also linear :

1. for i=1 to n do2. something3. for i=1 to n do4. something else

Page 16: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

Example (linear time):

Given is a point A=(ax, ay) and n points (x1,y1), (x2,y2), …, (xn,yn) specifying a polygon. Decide if A lies inside or outside the polygon.

Page 17: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

Example (linear time):

Given are n points (x1,y1), (x2,y2), …, (xn,yn) specifying a polygon. Compute the area of the polygon.

Page 18: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

Example (linear time):

Given are n points (x1,y1), (x2,y2), …, (xn,yn) specifying a polygon. Compute the area of the polygon.

Page 19: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

O(n log n)

Or:

1. for i=1 to n do2. for j=1 to log(n) do

3. something

1. for i=1 to n do2. j=n3. while j>1 do4. something5. j = j/2

Page 20: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

Quadratic

1. for i=1 to n do2. for j=1 to n do

3. something

Page 21: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

Cubic

Page 22: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

O(nk) – polynomial (if k is a constant)

Page 23: Algorithms Algorithm: what is it ?. Algorithms Algorithm: what is it ? Some representative problems : - Interval Scheduling.

A survey of common running times

Exponential, e.g., O(2k)