-
In the following series of videos, we'll
give a formal treatment of asymptotic
-
notation, in particular big O notation, as
well as work through a number of examples.
-
Big O notation concerns functions defined
on the positive integers, we'll call it t
-
of n. We'll pretty much always have the
same semantics for t of n. We're gonna be
-
concerned about the worst-case running
time of an algorithm, as a function of the
-
input size, n. So, the question I wanna
answer for you in the rest of this video,
-
is, what does it mean when we say a
function, t of n, is big O of f of n. Or
-
hear f of n is some basic function, like
for example n log n. So I'll give you a
-
number of answers, a number of ways of, to
think about what big O notation really
-
means. For starters let's begin with an
English definition. What does it mean for
-
a function to be big O of F of N? It means
eventually, for all sufficiently large
-
values of N, it's bounded above by a
constant multiple of F of N. Let's think
-
about it in a couple other ways. So next
I'm gonna translate this English
-
definition into picture and then I'll
translate it into formal mathematics. So
-
pictorially you can imagine that perhaps
we have [inaudible] denoted by this blue
-
functions here. And perhaps F of N is
denoted by this green function here, which
-
lies below T of N. But when we double F of
N, we get a function that eventually
-
crosses T of N and forevermore is larger
than it. So in this event, we would say
-
that T event indeed is Big O of F event.
The reason being that for all sufficiently
-
large, and once we go far enough out right
on this graph, indeed, the constant
-
multiple times F [inaudible] twice
[inaudible], is an upper bound on T event.
-
So finally, let me give you a actual
mathematical definition that you could use
-
to do formal proofs. So how do we say, in
mathematics, that eventually it should be
-
bounded above by a constant multiple of F
event? We see that there exists two
-
constants, which I'll call c and n not. So
that t of n is no more than C times F of
-
N, for all n that exceed or equal and not.
So, the role of these two constants is to
-
quantify what we mean by a constant
multiple, and what we mean by sufficiently
-
large, in the English definition. C
obviously quantifies the constant multiple
-
of f of n, and n knot is quantifying
sufficiently large, that's the threshold
-
beyond which we insist that, c times f of
n is an upper-bound on t of n. So, going
-
back to the picture, what are c and n
knot? Well, c, of course, is just going to
-
be two. And N. Knot is the crossing point.
So we get to where two F. Of N. And T. Of
-
N. Cross, and then we drop the acentode.
This would be the relative value. Of N not
-
in this picture, so that's the formal
definition, the way to prove that
-
something's bigger than [inaudible] you
exhibit these two constants C and N not
-
and it better be the case that for all N
not C times F of N upper-bounds T of N.
-
One way to think about it if you're trying
to establish that something is big O of
-
some function it's like you're playing a
game against an opponent and you want to
-
prove that. This inequality here holds and
your opponent must show that it doesn't
-
hold for sufficiently large N you have to
go first your job is to pick a strategy in
-
the form of a constant C and a constant N
not and your opponent is then allowed to
-
pick any number N larger than N not so the
function is [inaudible] if and only if you
-
have a winning strategy in this game. If
you can up front commit to constants C and
-
N not so that no matter how big of an N
your opponent picks, this inequality holds
-
if you have no winning strategy then it's
not to go of F of N no matter what C of N
-
not you choose your opponent can always
flip this in equality. By choosing a
-
suitable, suitable large value of N. I
want to emphasis one last thing which is
-
that these constants, what do I mean by
constants. I mean they are independent of
-
N. And so when you apply this definition,
and you choose your constant C [inaudible]
-
not, it better be that N does not appear
anywhere. So C should just be something
-
like a thousand or a million. Some
constant independent of N. So those are a
-
bunch of way to think about [inaudible]
notation. In English, you wanna have it
-
bound above for sufficiently large numbers
N. I'm showing you how to translate that
-
into mathematics that give you a pictorial
representation. And also sort of a game
-
theoretic way to think about it. Now,
let's move on to a video that explores a
-
number of examples.