18
April 26, 2022 Asymptotic Notation, Review of Functions & Summations

Asymptotic Notation, Review of Functions & Summations

  • Upload
    wauna

  • View
    47

  • Download
    2

Embed Size (px)

DESCRIPTION

Asymptotic Notation, Review of Functions & Summations. Asymptotic Complexity. Running time of an algorithm as a function of input size n for large n . Expressed using only the highest-order term in the expression for the exact running time. Describes behavior of function in the limit. - PowerPoint PPT Presentation

Citation preview

Page 1: Asymptotic Notation, Review of Functions & Summations

April 21, 2023

Asymptotic Notation,Review of Functions &

Summations

Asymptotic Notation,Review of Functions &

Summations

Page 2: Asymptotic Notation, Review of Functions & Summations

asymp - 2

Asymptotic Complexity

Running time of an algorithm as a function of input size n for large n.

Expressed using only the highest-order term in the expression for the exact running time.

Describes behavior of function in the limit.

Written using Asymptotic Notation.

Page 3: Asymptotic Notation, Review of Functions & Summations

asymp - 3

Asymptotic Notation

, O, , o, Defined for functions over the natural numbers.

Ex: f(n) = (n2). Describes how f(n) grows in comparison to n2.

Define a set of functions; in practice used to compare two function sizes.

The notations describe different rate-of-growth relations between the defining function and the defined set of functions.

Page 4: Asymptotic Notation, Review of Functions & Summations

asymp - 4

-notation

(g(n)) =

{f(n) : positive constants c1, c2, and n0, we have 0 c1g(n) f(n) c2g(n)

}

For function g(n), we define (g(n)), big-Theta of n, as the set:

g(n) is an asymptotically tight bound for f(n).

Intuitively: Set of all functions thathave the same rate of growth as g(n).

Page 5: Asymptotic Notation, Review of Functions & Summations

asymp - 5

O-notation

O(g(n)) =

{f(n) : positive constants c and n0,

we have 0 f(n) cg(n) }

For function g(n), we define O(g(n)), big-O of n, as the set:

g(n) is an asymptotic upper bound for f(n).

Intuitively: Set of all functions whose rate of growth is the same as or lower than that of g(n).

f(n) = (g(n)) f(n) = O(g(n)).(g(n)) O(g(n)).

Page 6: Asymptotic Notation, Review of Functions & Summations

asymp - 6

-notation

g(n) is an asymptotic lower bound for f(n).

Intuitively: Set of all functions whose rate of growth is the same as or higher than that of g(n).

f(n) = (g(n)) f(n) = (g(n)).(g(n)) (g(n)).

(g(n)) = {f(n) : positive constants c and n0,

we have 0 cg(n) f(n)}

For function g(n), we define (g(n)), big-Omega of n, as the set:

Page 7: Asymptotic Notation, Review of Functions & Summations

asymp - 7

Relations Between , O,

Page 8: Asymptotic Notation, Review of Functions & Summations

asymp - 8

Relations Between , , O

I.e., (g(n)) = O(g(n)) (g(n))

In practice, asymptotically tight bounds are obtained from asymptotic upper and lower bounds.

Theorem : For any two functions g(n) and f(n), f(n) = (g(n)) if

f(n) = O(g(n)) and f(n) = (g(n)).

Theorem : For any two functions g(n) and f(n), f(n) = (g(n)) if

f(n) = O(g(n)) and f(n) = (g(n)).

Page 9: Asymptotic Notation, Review of Functions & Summations

asymp - 9

Running Times “Running time is O(f(n))” Worst case is O(f(n))

O(f(n)) bound on the worst-case running time O(f(n)) bound on the running time of every input.

(f(n)) bound on the worst-case running time (f(n)) bound on the running time of every input.

“Running time is (f(n))” Best case is (f(n))

Page 10: Asymptotic Notation, Review of Functions & Summations

asymp - 10

Asymptotic Notation in Equations

Can use asymptotic notation in equations to replace expressions containing lower-order terms.

For example,4n3 + 3n2 + 2n + 1 = 4n3 + 3n2 + (n) = 4n3 + (n2) = (n3).

In equations, (f(n)) always stands for an anonymous function g(n) (f(n)) In the example above, (n2) stands for

3n2 + 2n + 1.

Page 11: Asymptotic Notation, Review of Functions & Summations

asymp - 11

o-notation

f(n) becomes insignificant relative to g(n) as n approaches infinity:

lim [f(n) / g(n)] = 0

n

g(n) is an upper bound for f(n) that is not

asymptotically tight.

o(g(n)) = {f(n): c > 0, n0 > 0 such that , we have 0 f(n) < cg(n)}.

For a given function g(n), the set little-o:

Page 12: Asymptotic Notation, Review of Functions & Summations

asymp - 12

(g(n)) = {f(n): c > 0, n0 > 0 such that , we have 0 cg(n) < f(n)}.

-notation

f(n) becomes arbitrarily large relative to g(n) as n approaches infinity:

lim [f(n) / g(n)] = .

n

g(n) is a lower bound for f(n) that is not asymptotically tight.

For a given function g(n), the set little-omega:

Page 13: Asymptotic Notation, Review of Functions & Summations

asymp - 13

Comparison of Functions

f (n) = O(g(n)) a b

f (n) = (g(n)) a b

f (n) = (g(n)) a = b

f (n) = o(g(n)) a < b

f (n) = (g(n)) a > b

Page 14: Asymptotic Notation, Review of Functions & Summations

asymp - 14

Properties Transitivity

f(n) = (g(n)) & g(n) = (h(n)) f(n) = (h(n))f(n) = O(g(n)) & g(n) = O(h(n)) f(n) = O(h(n))f(n) = (g(n)) & g(n) = (h(n)) f(n) = (h(n))f(n) = o (g(n)) & g(n) = o (h(n)) f(n) = o (h(n))f(n) = (g(n)) & g(n) = (h(n)) f(n) = (h(n))

Reflexivityf(n) = (f(n))

f(n) = O(f(n)) f(n) = (f(n))

Symmetryf(n) = (g(n)) then g(n) = (f(n))

Page 15: Asymptotic Notation, Review of Functions & Summations

April 21, 2023

Common Functions

Page 16: Asymptotic Notation, Review of Functions & Summations

asymp - 16

Monotonicity

f(n) is monotonically increasing if m n f(m) f(n). monotonically decreasing if m n f(m) f(n). strictly increasing if m < n f(m) < f(n). strictly decreasing if m > n f(m) > f(n).

Page 17: Asymptotic Notation, Review of Functions & Summations

asymp - 17

Exponentials

Useful Identities:

Exponentials and polynomials

nmnm

mnnm

aaa

aa

aa

)(

11

)(

0lim

nb

n

b

n

aon

an

Page 18: Asymptotic Notation, Review of Functions & Summations

asymp - 18

Logarithms

x = logba is the exponent for a = bx.

Natural log: ln a = logea

Binary log: lg a = log2a

lg2a = (lg a)2

lg lg a = lg (lg a)

ac

ab

bb

c

cb

bn

b

ccc

a

bb

b

ca

ba

aa

b

aa

ana

baab

ba

loglog

log

log

1log

log)/1(log

log

loglog

loglog

loglog)(log