Vous êtes sur la page 1sur 17

G1>+%.

# 11 - C,+(0+,<&"#"' 4+5,3:*8$ /
;0'$>+#H# E3)718$ F'*#'"1<I$ @317I$
!"#$ %$&"#"' '(") *' %+%"#*,-$ "' %.)/ %0123,(/ *2'"':
4+5&31*,1, 631")31' 4.1,+&5#7#/ 4+5&31*8$, 91'": '$'+-,(% ",(/ 4+5,3:*8$
;0%131<) =%83#"1<) 4$>+(7# 4+5,3:*8$, 43?) !"'*%3&"#"'/
;35'+%:' %<":#7#/ 0,+(0+,<&"#"'/: ,1 ">.%1/ @(n), A(n), =( n)
93'B1<) 40%1<&$17# @(n), A(n), =( n)
C'3'D%:5'"' 4$>+(7#/ C,+(0+,<&"#"'/
E3)71,1 '*#'"1<,: ,317,:
F'*#'"1<) ;0'585)

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-1

4+5&31*,1
!"#$%&'(): %:$'1 1' *+*+%,-./0 ,1("(2'3, %$",+I$, ,2-40%5
1,'(%&-./6/ <'1 %<"%+2718$ 7% *+*+%,-./( 7%$/(, ,1 ,0,:%/ '$
'<,+,(*#*,-$ %01"(5?>$%"'1 <>0,1, %01*(#"& '0,"2+%7'.
8%(#%5,4,: J+,0,:#7# '+5,3:*,( 7% 1' 5+I77' 03,53''"17,-

M$' 787"& 03&53'' D%$ %:$'1 '3<%"&

9& +3/,& -0,/4&1$ -+ ./, !"#$%&'(;


:%'$404,: &"'$ "' D%D,2$' %17&D,( 1<'$,0,1,-$ "1/ '$'5<':%/
7($*)<%/, "&"% ", 03&53'' "%3'":K%1 % ", '$'%$&%$, '0,"2+%7'
;%$/() <14."+-0): @ ?3&$,/ 0,( ?3%1>K%"'1 ", 03&53'' 51' $'
D#1,(35)7%1 ", '$'%$&%$, '0,"2+%7'.
!*,340-0 -40/ =/>0, ?3142(, =,#/04&1$ ?3-1( (,/5"(#, + 40/
+@,%(#>): L,(/ (0,+,517"1<,-/ 0&3,(/ ",(/ ,0,:,(/ ?3%1>K%"'1 #
%B'3,5), 023' '0& ",$ %0%.%35'7"), 51' $' D#1,(35#*%: ",
'$'%$&%$, '0,"2+%7'.
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-2

4$>+(7# 4+5,3:*8$
=2+,(% $' 0,3,-% $' (0,+,5:K,(% ",$ ?3&$,
%<"2+%7#/ %$&/ '+5,3:*,( / <'1 $' ",$ N%+"1I$,(%,
*%(4(A ",$ "32.,(% 7% <>0,1' #?'$).
O 7#%31$) D1>+%.# *' '0'$")7%1 "1/ %38")7%1/:
L1 %:$'1 # *%83#"1<) '$>+(7# %$&/ '+5&31*,(;
C,1' %:$'1 "' <31")31' '$>+(7#/ '+5,3:*8$;
C8/ 0'317">$,(% <'1 (0,+,5:K,(% "#$ '0&D,7# %$&/
'+5,3:*,( % '*#'"1<> %35'+%:';
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-3

4$>+(7# 4+5,3:*8$ 91'":?


91'": 0320%1 $' '$'+-7,(% "#$ 0,+(0+,<&"#"'
%$&/ '+5,3:*,(;
P"'$ 2$' 03&53'' 03&<%1"'1 $' %0%.%35'7"%: 2$' %5>+,
&5<, D%D,2$8$, 0320%1 $' N%N'18*,-% &"1 *' 4+%,43-+&
-+ ,*(B+145 7%(/&15 *",3-&,.
4$ 2$'/ '+5&31*,/ %-3%7#/ ",( 01, B*#$,- %171"#3:,( 7% 2$'
#+%<"3,$1<& 7-7"#' '%3,0,31<I$ <3'")7%8$ *2+%1 2 )$%/ 51' $'
%<"%+%7"%:, "&"% ", 7-7"#' D%$ %:$'1 ?3)71,.

O *%83#"1<) '$>+(7#, %01"320%1 7% 2$' 03,53''"17") $'


2*("(#3-+& + 40/ 7%>-0 ,'0,4&1C/ %35'+%:8$ ",$
'$'%$&%$, ?3&$, *%(4(A 16B&1(*(&>-+& ", 03&53''.
;>$ , '$'%$&%$,/ ?3&$,/ %:$'1 0,+- %5>+,/, "&"% *'
7?%D1>7%1 <>0,1, N%+"182$, '+5&31*,.
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-4

;0%131<) =%83#"1<) 4$>+(7# 4+5,3:*8$


M$'/ '+5&31*,/ 0,3%: $' %+%"#*%::
<*+&%&15, %"3I$"'/ ", ?3&$, <'1 ?I3, %<"2+%7)/ ",( 7% 7(5<%<312$,
(0,+,517"). F0,3,-% $' (+,0,1)7,(% ",$ '+5&31*, <'1 $' %"3)7,(% ",$
?3&$, % "#$ N1N+1,*)<# <time.h>

D+6%04&15, 0,3,-% $' (0,+,5:7,(% ", ?3&$, <'1 ", ?I3, 0,( '0'1"%: ,
'+5&31*,/ 7'$ 7($>3"#7# ",( +#.'(2) "8$ %.%"'K,2$8$ 7"151&"(08$.
!.". !"#$%&': #$%&'()*) +,*#$-.
()*+*#),-.: +,*#$ . n *#/&".,$.
/0+12.3: n

L(01<>, .#+'() +/$) -4&#&$42*(2 '$"17",1?%: 7", 25%*,/ "#/ $)#/ 0,(
'0'1"%:"'1 51' '0,*)<%(7# ",( 7"151&"(0,( 7",$ (0,+,517").

D+6%04&1> !/5"2-0 Vs. <*+&%&1> !/5"2-0


E '+6%04&1> ,/5"2-0:
1. D%$ %.'3">"'1 '0& ", (+1<& ",( O/J ($)#, cache, <+0)
2. D%$ %.'3">"'1 '0& "# 5+I77' 03,53''"17,- ) ", %"'B3'7")
3. D%$ %.'3">"'1 '0& "1/ 1<'$&"#"%/ ",( 03,53''"17").
4. D%$ '0'1"%: "#$ (+,0,:#7# ",( '+5&31*,( 03,",- "#$ D,<1)!
$%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
4. !"#
%:$'1035
9;QR6O

11-5

=%83#"1<) 4$>+(7# 4+5,3:*8$


F5/(2+ 7%>-0 &,) 2G0"(A +*&*.B(2 *+%&#%,@>) 4(2 ,"#$%&'(2
1,& $7& 40) 2"(*(30-0) 4(2 B0",B> 7%>-0 H+2B(1CB&1,.
D, 7,%,140%3-(2+ 4(/ 7%$/( +14."+-0) 4(2 ,"#$%&'(2 -,/
-2/5%40-0 4(2 +#.'(2) 46/ B+B(./6/, N
E ,/5"2-0 ,) ', "5I+& 2*$G0 $"+) 4&) B2/,4.) +&-$B(2).
0.?. N3%:"% ",$ '31*& 5 7% 2$' 0:$'<' '<23'18$.
- !"#$ <'+-"%3# 0%3:0"87#: ", N3:7<,(% 7"#$ 03I"# *27#
- !"#$ ?%13&"%3# 0%3:0"87#: D%$ ",$ N3:7<,(% <'*&+,(
;0,2$8/, 2$' '+5&31*,/ 0,3%: $' %<"%+%:"'1 #%0#(%$4+%, 7%
7(5<%<312$' 7-$,+' D%D,2$8$ '0& &"1 7% <>0,1' >++'.
O %-3%7# "#/ .-0) *+%3*46-0) %:$'1 7($)*8/ D-7<,+#, 51' '("& ,1
'+5&31*,1 %"31,-$"'1 % N>7# "#$ 7+&%$4+%0 *+%3*46-0.
!% 7(5<%<312$' 0%D:' (air traffic control, 7(7")'"' 03'5'"1<,?3&$,(, <"+), # 5$I7# "#/ ?%13&"%3#/ 0%3:0"87#/ %:$'1 0,+- 7#'$"1<)
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-6

C'3>D%15' 4$>+(7#/ 1
J*('.-4+ $4& '."+4+ /, I%+34+ 4( +#,"A4+%( -4(&7+3( -+ &, "3-4,
'+4&1C/ ,1+%,36/.
int largest( int X[], int n){
int current=0, i=0;

E
3

while ( i < n ){
if ( X[i] > current){
current = X[i]; // !"#$%!# &'( #)*+,&#-'
}
i = i+1;
}
return current;

5
n

}
/0+12.3 414.0565 1*7#4.,: n
0#("/-: (0,+,517&/ ",( '31*,- N'71<I$ 03>.%8$
E%13&"%3# C%3:0"87#: %.2"'7# &+8$ "8$ 7",1?%:8$ t(n) = n
S2+"17"# C%3:0"87#: %.2"'7# &+8$ "8$ 7",1?%:8$ t(n) = n
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-7

C'3>D%15' 4$>+(7#/ 2
!/ >4,/ 4,K&/(0./0 0 "3-4, (-+ ,AK(2-, -+&%5) 4$4+ 4(
+#,"A4+%( -4(&7+3( *(%+3 /, I%+'+3 -+ -4,'+%$ 7%$/( (B0",B>
*5/4, 4( 4+"+24,3( -4(&7+3().
int largest2( int X[], int n){
if (n<0)
return -1; // error;
return X[n-1];
123.4/- 5.5/2'6' .&*(5/7: n
E%13&"%3# C%3:0"87#: %.2"'7# "%+%("':,( 7",1?%:,( t(n) = 1
S2+"17"# C%3:0"87#: %.2"'7# "%+%("':,( 7",1?%:,( t(n) = 1
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-8

F,$>D' !-5<317#/ "#/ 40,D,"1<&"#"'/


8 '"9: )&3 7)'21"#)&)'3
G-, D1'B,3%"1<2/ (+,0,1)7%1/ ",( :D1,( '+5,3:*,( (7% D1'B,3%"1<2/ #?'$2/ )
7% D1'B,3%"1<2/ 5+I77%/ ) '0& D1'B,3%"1<,-/ 03,53''"17"2/) B+/ B&,@.%(2/
7", ?3&$, %<"2+%7)/ ",(/ *+%&--$4+%( '0& <>0,1, -4,'+%$ *("",*"5-&(.
D#+. '$ E1 %:$'1 o ?3&$,/ %<"2+%7#/ "#/ :'/ (+,0,:#7#/ <'1 E2 "#/ >++#/, "&"%
17?-%1 E1 = c! E2 51' <>0,1' 7"'*%3> c.

91' 0'3>D%15' 2?,(% 2$' 03&53'' ", ,0,:, "'.1$,%: 2$' 0:$'<'
%52*,(/ L, 7",$ (0,+,517") PC ",( 701"1,- '/ 7% ?3&$, <1 <'1 7%
2$' RSF Slue Gene 7% ?3&$, <2.
C'3'"#3,-% &"1 17?-%1 : ;1 = 1,000,000 * ;2
O 7"'*%3> c=1,000,000 D%$ %.'3">"'1 '0& ", Q '++> '0& ",
0%31N>++,$ %<"2+%7#/ (%"'5+8""17")/, (+1<&, +%1",(351<& 7-7"#',
<"+).
;0,2$8/ %>$ '(.#*%: ", Q, "&"% <'1 0>+1 *' %<"%+%:"'1 1,000,000 01,
'35> 7", PC '/
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-9

!-5<317# C,+(0+,<&"#"'/ 4+5,3:*8$


" ;)+%83:%+<)45=*323%89:%>)+,=(9:%
."#)
+5*4(?@A9:%B(32)A474)40:8+)%
>)C,4(+%A'*D@3E%
" #F%AD*'@4G%846%7(4H5-A+84G%
" ."#$F%I%B(=:4G%'18D5'23G%
!"#$%

/0*1()23%&456754148-89:

&'()*(+,-%

1 (2$')! !"'*%3&/ (constant)!


logk n!

T,5'31*1<&/ (logarithmic)

n!

93'1<&/ (linear)

nk!

C,+(8$(1<&/ (polynomial)

O(n)

n2!

L%"3'58$1<&/ D%("%3,N>*1,/
(quadratic), 0.?., Shortest Path Dijkstra!

O(n2)

6(N1<&/ - "31",N>*1,/ (cubic), 0.?., AllPair-Shortest Path Floyd-Warshall

O(2n)

n3!

cn , nn ! ;<*%"1<&/ (exponential)!
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

O(lg2n)

O(n3)

#
11-10

U(*&/ 4-.#7#/ 1'/ !($>3"#7#/


@ 3(*&/ '-.#7#/ 1'/ 7($>3"#7#/ %:$'1 7#'$"1<&/ &"'$ , '31*&/
"8$ D%D,2$8$ %17&D,( N, %:$'1 7#'$"1<> %5>+,/.
91' n=4
2n=16
<'1
n2=16
91' n=100 2n=1.26*1030
<'1
n2=10,000
;>$ 2$'/ '+5&31*,/ %<"%+%:"'1 7% 2n <'1 1' >++# 2<D,7# n2 03>.%1/
"&"% 51' 1<32/ "12/ *' 2?,($ 0'3&,1, ?3&$, %<"2+%7#/. 91'
%5>+%/ "12/ '("& N2N'1' D%$ 17?-%1!

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-11

U(*&/ 4-.#7#/ G1>B,38$ !($>3"#7#/


(N>7# ",( %52*,(/ %17&D,( n)

J0&*%7#: 10 03>.%1/ ?3%1>K,$"'1 60x10-6 seconds (microseconds)*

* @1 01, 53)5,3,1 (0,+,517"2/ <>$,($ '0+2/ 03>.%1/ (+,-,) 7% 10-9 seconds (1


!"#
035 $%&'
$()%&*+*
1.- 50.
678. ,-. 678. 9:%0.
nanosecond)
%$I
", pc '/,-.7%/0123.4%.
10-6 seconds
(1 microsecond)

11-12

U(*&/ 4-.#7#/ 1'/ !($>3"#7#/


M0+&C-4+ $4& 0 4&> &,) -2/5%40-0, 1,'(%3N+4,&
12%36) ,*$ 4(/ +#,"A4+%( $%( #&, +#5"+) 4&.) 4(2 n.
C.?. M$'/ '+5&31*,/ '/ *2+%1 f(n) ?3&$, 51' $' ,+,<+#3I7%1:
f(n) = 10*n3 + n2 + 40*n + 80
91' n=1000

f(n) = 10,001,040,080

E3#71,0,1I$"'/ &$, ",$ 01, %5>+, &3, 10*n3 =10,000,000,000 *'


0,3,-7'% $' (0,+,5:7,(% ",$ ?3&$, %<"2+%7#/ ",( 03,53>'",/ %
99.99% '<3:N%1'!
;0,2$8/ "' n2 + 40*n + 80 %:$'1 '?3%:'7"' 7"#$ '$>+(7# '/
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-13

F,$"2+, J0,+,517,- "#/ 4$>+(7#/ F'/


J0,+,517")/ 0,( %<"%+%: ,D#5:%/ D1'D,?1<>. (&?1 0'3>++#+%/ #?'$2/)
O,-&1> *%5K0 *%83,-% &"1 %:$'1 (*(&,B>*(4+ *%5K0 "#/ ,0,:'/ ,
?3&$,/ %<"2+%7#/ %:$'1 B3'52$,/ '0& <>0,1' 7"'*%3> (D#+. " c, 51'
<>0,1' 7"'*%3> c). !" $4)$#&82- !9:%.&- (!9(*4.*), $;$,9.*)),
*<389&*), 8$#$"=9)*) .#$>+)#?-, .!&*#9/;? $!/#.+2*$#/-.
!($%0I/ , 7%$/() +14."+-0) 1'/ N'71<)/ 03>.#/ 0,3%: $'
03,7D1,317"%: ,/+K5%404, '0& 4( -4&#&$42*( (0? 10+3 ) 10000+3
*2+,($ ",$ :D1, '<31NI/ ?3&$, %<"2+%7#/)
;0%1D) ,3:K,(% ", ?3&$, %<"2+%7#/ %$&/ '+5,3:*,( % "#$ 2$$,1'
",( 7"'*%3,- 0,++'0+'7:,( C, #&, 40/ ,/5"2-0 ', 7%+&,-4(A+
$/( 4(/ ,%&'$ 46/ I,-&1C/ *%5K+6/ 0,( %<"%+,-$"'1 '0& 2$'
'+5&31*, <'1 $7& 4(/ ,1%&I> 7%$/( 0,( '0'1",-$ # <>*% 1' '0&
'("2/.
P%, +*' ).5 ,-.%.+*7# )., 9"#5., 1;)0%17&3 15#3 '%+#"*2., '-%<
1)".=1 ).5 '"*2# )65 $'7*;>5 -"<?165 -., 1;)1%1@.
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-14

47(0"8"1<) C3,725517#: Big-O


=,) +*&4%.*+& /, 2*("(#3-(2+ 4(/ %2'$ ,AK0-0) &,)
-2/5%40-0) 76%3) /, ,/0-27(A+ #&,:
a) -4,'+%5 *("",*"5-&, (C) >
b) #&, &1%$4+%(2) $%(2), (& (*(3(& .4-& 1,& ,""&C) B+/ +*0%+5N(2/
4(/ 7%$/( +14."+-0) +/$) *%(#%5,4().
;0,2$8/ D%$ 2?,(% $' '$#7(?,-% 51' ", (+1<&, %"'5+8""17"), <"+
% "' ,0,:' *' %<"%+%7"%: , '+5&31*,/ '/.
O 03,725517# Big-O, '/ %01"320%1 $' ,3:7,(% 1' -7+4&1> -+&%5
7"1/ 7($'3")7%1/ 7(5<3:$,$"'/ ",(/ %01<3'"27"%3,(/ &3,(/.
0.?. 2$'/ '+5&31*,/ *2+%1 f(n)=100n2 + 17n + 4 03>.%1/ %$I 2$'/
>++,/ *2+%1 g(n)=n3 03>.%1/ "&"% .23,(% &"1 o 03I",/ %<"%+%:"'1 01,
53)5,3' 51' %5>+%/ "12/ ",( n
11-15

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

;35'+%:' ;<":#7#/ C,+(0+,<&"#"'/


A"*7#3: =%83,-% 7($>3"#7# L(n). @3:K,(%

f(n)0,3%: $' %:$'1 ,0,1'D)0,"%


7($>3"#7# => n, n2, lgn

@(f(n))

1. @(n)!A(f (n)), '$ (0>3?,($ 7"'*%32/ c>0 <'1 n0 #1 I7"%


9(n) " c!f(n), 51' <>*% n # n0.
2. @(n)!B(f(n)),

3. @(n)!C(f(n)),

'$ (0>3?,($ 7"'*%32/ c>0 <'1 n0 #1 I7"%


9(n)#c!f(n), 51' <>*% n # n0 .
'$ L(n)$@(f(n)) <'1 L(n)$A(f(n)).

T(n)

n0

A(f(n))

4$ L(n)$@(f (n)), "&"% +2% 08/ # 7($>3"#7# L %:$'1 #)- )<?163 f(n).
4$ L(n) $ A(f (n)), "&"% +2% 08/ # L %:$'1 "#/ )<?163 60+' )&3 f (n).
4$ L(n)$ =(f (n)), "&"% +2% 08/ # L %:$'1 "#/ )<?163 2:)' )&3 f (n).
(%0+1)'* ;'* ';"*$:3 )<?&)
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-16

93'B1<) 40%1<&$17# Sig-O

n0
n0

H -2/5%40-0 f(x) +3/,& O(g(x))

n0=1
n0

2
2
?0",B> (0>3?,($ 7"'*%32/ C>0 <'1 n0 #1 H -2/5%40-0 x +2x+1 +3/,& :(x )
I7"%:
f(n)!"#
" C!g(n),
51' <>*%
n # n0 .,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
035 $%&'
$()%&*+*
11-17

93'B1<) 40%1<&$17# Sig-A <'1 Big-=

H -2/5%40-0 f(n) + Q(g(n))

H -2/5%40-0 f(n) + D(g(n))

?0",B> (0>3?,($ 7"'*%32/ c>0 <'1 n0 #1 I7"%:

?0",B> (0>3?,($ 7"'*%32/ c>0,c >0 <'1 n0 #1


I7"%:

f(n)#c!g(n), 51' <>*% n # n0 .

c .g(n) " f(n) " c .g(n), 51' <>*% n # n0 .

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-18

C'3'D%:5'"' Sig-O
8,%5B+&#, 1
7n-3 +3/,& :(n)
9+10%36-0
C320%1 $' D%:.,(% &"1 (0>3?%1 c>0,no#1 2"71
I7"%: 7n-3 " c*n,
91' c=7, no # 1 # 0'3'0>$8 '$17&"#"'
1<'$,0,1%:"'1, %0,2$8/ 7n-3 %:$'1 :(n)
0.?.,

<*,#6#&1> ,*$B+&K0 (> + $%&,)


*,%,"+3*+4,& *%() 4( *,%$/

7*1-3 " 7*1 (4 " 7)


7*2-3 " 7*2 (11 " 14)
7*3-3 " 7*3 (18 " 21)
<,<

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-19

C'3'D%:5'"' Sig-O
8,%5B+&#, 2
20n3+10nlogn+5 +3/,& :(n3)
9+10%36-0
C320%1 $' D%:.,(% &"1 (0>3?%1 c>0,no #1 2"71 I7"%
20n3+10nlogn+5 " c* n3
20n3+10nlogn+5 " 20n3+10n3+5n3
20n3+10n3+5n3 " 35n3

(n>1)

91' c=35, no=1 # 0'3'0>$8 '$17&"#"' 1<'$,0,1%:"'1,


%0,2$8/ 20n3+10nlogn+5 %:$'1 :(n3)
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-20

RD1&"#"%/ Big-O
M4&) *+%&--$4+%+) *+%&*4C-+&) ,) +/B&,@.%+& $/( 4( 5/6 @%5#,
(7+3%&-40 *+%3*46-0 +14."+-0) +/$) ,"#(%3'(2), B0",B> 4( O.
O 7($>3"#7# O 2?%1 "1/ '<&+,(*%/ 1D1&"#"%/:

R-7A+& 0 ,1$"(2'0 -+&%5

1. O(X+Y) = O(X) + O(Y) $ max (O(X),O(Y))


1< logn < n < nlogn < n2 < n3 < 2n < n! < nn
2. O(X*Y) = O(X)*O(Y) $ O(X * Y)
< +3/,& ,-2*464&15 &1%$4+%(
3. O(c * X) = O(X)
(c *#$4.9: > 0 )
!'"<41*+'
M7"8 &"1 2$'/ '+5&31*,/ 2?%1 "#$ '<&+,(*# 7($>3"#7# '-.#7#/
f(n) = 16n2logn + 3n + 7
9$4+ ,*"(*(&(A+ 40/ -2/5%40-0 ,AK0-0) 6) +K>)
= 16n2logn (D1'53>B,(% "1/ 1<3&"%3%/ "12/ ",( n 6'$&$'/ 1)
= n2logn (D1'53>B,(% "1/ 7"'*%32/ 6'$&$'/ 3)
D#+'D) f(n) + :(n2logn)
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-21

C'3'D%:5'"' RD1,")"8$ Big-O


8,%,B+3#,4,:

15n + 32 $ @(n)
1324 $ @(1)
5n2 $ O(n2)

200*(n+n7) $ @(n7)
(n+n7)*m2 $ @(n7 m2)
5nlgn + 4 $ @(nlgn)

C3,B'$I/, <'"> "#$ '$>+(7# '+5,3:*8$


7"&?,/ '/ %:$'1 '("> "' &31' $' %:$'1 &7, ",
D($'"& 01, '<31N).
;>$ 7n-4 %:$'1 @(n), "&"% 03,B'$I/ 7n-4 %:$'1 @
(n2), @(n3), @(n4), .
A7"&7,, ,1 ?'3'<"#317,: big-O 0320%1 $' %:$'1
&7, ", D($'"& 01, 1<3)/ ">.#/. (D#+'D) ", @(n)
%:$'1
", $%&'
01, $()%&*+*
7"%$& >$8
&31,).1.- 50. 678. ,-. 678. 9:%0.
!"# 035
,-. /0123.4%.

11-22

47(0"8"1<) 4$>+(7#
!-2*464&15 =&1%$4+%( (Asymptotically Smaller)
< 7#':$%1: %:$'1 '7(0"8"1<> 1<3&"%3,.
M7"8 &"1 q(n) <'1 p(n), D(, #-'3$#"1<2/ 7($'3")7%1/.
L, q(n) < p(n), %>$ 17?-%1:

q (n)
=0
n " >! p ( n)
To p(n) '7(0"8"1<> %01<3'"%: (dominates) ", q(n).
lim

8,%5B+&#,:
40,D%:."% &"1 17?-%1 10n+7< 3n2+2n+6
10 7
+ 2
10n + 7
n
n = 0+0 = 0 = 0
lim 2
=
n " > ! 3n + 2n + 6
2 6
3+ + 2 3+ 0+ 0 3
n n
11-23

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

C'3>D%15' 4$>+(7#/
!"#$%&'( )'* $%+('( ,- ./(0'( '1, $%&1 23"#*# &'#*4(0#5 K &( 6*- +0&'- 7[]
(682#59 n).:
int index( int X[],int n,int k){
1
int i=0;
2
while (i < n)
3
if (X[i]==k) // item found
4
return i;
5
i+=1;
6
return error;
}
123.4/- 5.5/2'6' .&*(5/7: n

E
3

7? => '.-0 2
1

;+&%$4+%0 8+%3*46-0:
%.2"'7# &+8$ "8$ 7",1?%:8$ (0.?. H>?$,(% ", 5)
t(n) = n
O."4&-40 8+%3*46-0:
", 7",1?%:, N3:7<%"% 7"#$ *27# 1 (0.?. H>?$,(% ", 3) t(n) = 1

5
n

=> O(n)
=> A(1)

V3' %<"&/ '0& ", .#+'() +&-$B(2 <'1 ", 3B&( 4( -4&#&$42*( +&-$B(2 0':K%1 <>0,1,
7#'$"1<& 3&+, 7"#$ '$>+(7# <>0,1,( '+5,3:*,( (# 7($>3"#7#/)
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-24

4$>+(7# E%13:7"#/ C%3:0"87#/


!"1/ 0%3177&"%3%/ 0%310"I7%1/, '/ %$D1'B23%1 # ,/5"2-0 7+3%&-40)
*+%3*46-0), %0%1D) '/ D:D%1 2$' 5/6 @%5#, 7",$ 7%$/(
+14."+-0) %$&/ '+5&31*,(.
4$ Dn %:$'1 ", -A/("( $"6/ 46/ +&-$B6/ (-4&#&(4A*6/*) %52*,(/
n, <'1 t(I) , '31*&/ I,-&1C/ *%5K+6/ 0,( %<"%+,-$"'1 '0& ",$
'+5&31*, 51' <>*% I$Dn "&"% ,3:K,(% "#$ :
!.%,-%.;#)&)' ;+&%3-40) 8+%3*46-0):
W(n) = max {t(I) | I$ Dn }

R: M4&#&$42*( +&-$B(2
O,-&1.) *%5K+&) R

G#+'D), , ,317&/ D:$%1 2$' 5/6 @%5#, (upper bound) "#/


*("2*"(1$404,) ",( ,"#(%3'(2.
* Dn ={ {3,1,7,2,9,5}, {1,3,7,2,9,5}, ., (6!=720 D1'">.%1/) }
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-25

4$>+(7# F27#/ C%3:0"87#/


J0,*2",(% 08/ 0,3,-% $' '$"17",1?:7,(% 1' 01*'$&"#"' p(I) 7%
<>*% %:7,D, I$Dn .
@3:K,(% "#$ -.%,-%.;#)&)' /07&3 !1"@-)67&3 8/
A(n) =
p( I ) # t ( I )
t(I): '31*. N'71<I$ 03>.%8$

i"Dn

p(I): C1*'$&"#"' %B>$17#/

7"151,"-0,(

8,%5B+&#,: H57/(2+ 4( 3 -+ &, "3-4, n (6 ,%&'C/)


To 3 0,3%: $' N3:7<%"'1 7% 1' '0& "1/ 01, <>"8 *27%1/:
R1 ={3,x,x,x,x,x}
R2 ={x,3,x,x,x,x}
R3 ={x,x,3,x,x,x}
R4 ={x,x,x,3,x,x}
R5 ={x,x,x,x,3,x}
R6 ={x,x,x,x,x,3}
J0,*2",(% &"1 <'1 ,1 n=6 <'"'7">7%1/ 2?,($ 01*'$&"#"' %B>$17#/ p(I)=1/n
C,+(0+,<&"#"' F27#/ C%3:0"87#/ !
1/n * (1 03>.#)
+
1/n * (2 03>.%1/) +
1/n * (3 03>.%1/)
1/n * (4 03>.%1/) +
1/n * (5 03>.%1/) +
1/n * (6 03>.%1/)

A(n) =

1
1 n.(n + 1) n + 1
i
=
! ( 2 )= 2
n i"Dn n

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-26

C'3>D%15' 1: J0,+,517&/ E3&$,( ;<"2+%7#/


./'01!&# 2&3 1(* /-24+"* #/3+,(#&*3 # &'( /3' 56&%
57835*:
int k=0;
for (i=0; i<n; i++)
k+=i;
!"#$%&'
k+=i; // H 4*!359 /-6:" " '/'$* ;-#36<#&*3 =(1) ;-2('
= *+)2-30'> #5&#+#$ &"( 4*!359 /-6:" n ?'-1>
!
!
!
!
! - O "#$%&'()*+ ,-.' /*#0/#*1%232"!
!
!
!
1 =! n ! 23+ 2453+ O(n)!
!
!
! i"n
!
! - 6237 8,#2'923 /.&:/2;93 -&.'4<.2"' =
(n)!
!
!
!
!
! => O(n) & =(n) => >(n)!
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
11-27
!

;0'$>+#H# E3)718$ F'*#'"1<I$ @317I$


@317&/ 1:

log x a = b iff

xb = a

E3)71,1 $&,1 +,5>31*8$:


log a b = b " log a

log ab = log a + log b

log c b
log c a

log( a / b) = log a ! log b

log a b =

b logb x = x

log a a = 1

log2n = (logn)2 = logn*logn


logn2= logn+logn=2logn
log10 (common) , loge (ln - natural), log2 (lg - binary)
8.7. log22=1
log21=0
log20 D%$ ,3:K%"'1
@317&/ 2:
0.?.

!x " = max{a | a & x, int( a)}


#x $ = min{a | a % x, int( a)}

! 63 "
& 11 % = !5.72 " = 6, #5.1634$ = 5
& %

(floor)
(ceil)

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-28

4<,+,(*:%/ <'1 4*3,:7'"'


n

#i

i =0

#i

n " ( n + 1)
2

i =0

#2

{0,1,2,3,...,n}

n " ( n + 1)(2 n + 1)
{0,1,4,9,,n2}
6

= 2 n +1 ! 1

{1,2,4,8,,2n}

i =0

# ai =
i =0

log 2 n

a n +1 ! 1
a !1

V*3,17' 9%8%"31<)/
C3,&D,(

2 i =n + n / 2+ n / 4+...+ 2+1= 2 n !1

i =0

L, ,0,:, 03,<-0"%1 '++1I/ 8/:

log 2 n

i
" 2=

i =0

2log 2 n+1 !1 log 2 n 1


=2
*2 !1= 2 n !1
2 !1

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-29

F'*#'"1<) ;0'585)
M4$7()
Q' '0,D%1?*%: &"1 # ('*#'"1<)) 03&"'7# C(n) 17?-%1 51' <>*% n#0.
=.'(B()
1. ;0'+#*%-,(% 08/ # C 17?-%1 51' n=0,
2. J0,*2",(% 08/ # C 17?-%1 51' n=k <'1
3. 40,D%1<$-,(% 08/ # C 17?-%1 51' n=k+1.
8,%,"",#.)
4$": ",( 0, 7% ,3172$%/ 0%310"I7%1/ %$D1'B%3&'7"% 51' n # a, &0,(
", a %:$'1 <>0,1,/ '<23'1,/.
!", D%-"%3, N)': J0,*2",(% 08/ # C 17?-%1 51' n "k <'1
'0,D%1<$-,(% 08/ # C 17?-%1 51' n=k+1.
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-30

S(#&1> *3-6 ,*$ 40/ =,'0,4&1> <*,#6#>


M07"8 &"1 <>0,1,/ 17?(3:K%"'1 &"1 , '<&+,(*,/ "-0,/ 17?-%1 0>$"'
n
n ! (n + 1)
i=
2
i =0

"

6'+,-'7"% $' ,*(B+3K(2+ (D#+'D) $' D%:.,(% &"1 51' <>*% "1)
",( E 17?-%1) # $' ", B&,G+A-(2+ (&"1 D#+., (0>3?%1 <>0,1' "1)
",( n 0,( <>$%1 '$'+#*) ",$ 17?(317&.
?(1&> #&, n=1 : (1*2)/2 = 1 ", ,0,:, %:$'1 ", :D1, % ", 1!
G,<1) 51' n=2 : (2*3)/2 = 3 ", ,0,:, %:$'1 ", :D1, % ", 1+2!
G,<1) 51' n=3 : (3*4)/2 = 6 ", ,0,:, %:$'1 ", :D1, % ", 1+2+3!
G,<1) 51' n=4 : (4*5)/2 = 10 ", ,0,:, %:$'1 ", :D1, % ", 1+2+3+4!
.
!) 2*('.-(2+ $4& &-7A+& 1,& #&, n=k
=*(%(A+ /, B+3K(2+ $4& &-7A+& 1,& #&, n=k+1 % N>7%1 "#$
03,#5,-%$# (0&*%7#; ;>$ $'1 "&"% ", 2?,(% '0,D%:.%1. ;>$ &?1
"&"% D%$ ", 2?,(% D1'H%-7%1, '0+> D%$ 2?,(% N3%: "#$ '0>$"#7#!
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-31

C'3>D%15' 1 L(01<) 40&D%1.#


Q' '0,D%:.%"% &"1

"i =
i =0

n ! (n + 1)
2

!*$B+&K0:
=' '0,D%:.,(% % "# 2*,D, "#/ '*#'"1<)/ %0'585)/ "#$ 03&"'7#
n
n ! (n + 1)
i=
C(n) %
2
i =0
0
0 ! (0 + 1)
i=0=
1. ;0'+#*%-,(% "#$ C(0) 8/ %.)/:
2
i =0

"

"

2. J0,*2",(% &"1 17?-%1 # C(k), D#+'D) &"1


3. 6'1 *' '0,D%:.,(% &"1 17?-%1 # C(k+1):
k +1

k ! (k + 1)
2
i =0
k +1
(k + 1)(k + 2)
i=
!
2
i =0

"i =

k ! (k + 1)
i = " i + (k + 1) =
+ (k + 1)
"

2
i =0
i =0
k (k + 1) + 2(k + 1) 1.- 50.
(k678.
+ 1,-.
)(k
+ 2)
!"# 035=
$%&' $()%&*+* ,-. /0123.4%. =
678. 9:%0.
2
2

;0'5851<)
(0&*%7#

11-32

C'3>D%15' 2 L(01<) 40&D%1.#


Q' '0,D%:.%"% &"1

n 2 ! (n + 1)
i
=
"
4
i =0
n

!*$B+&K0:
=' '0,D%:.,(% % "# 2*,D, "#/ '*#'"1<)/ %0'585)/ "#$ 03&"'7#
C(n)

% " i3 =
i =0

n 2 ! (n + 1)
4

1. ;0'+#*%-,(% "#$ C(0) 8/ %.)/:

" i 3 = 0 <=>
i =0

"i

0 ! (0 + 1)
=0
4
k 2 ! ( k + 1)
4

2. J0,*2",(% &"1 17?-%1 # C(k), D#+'D) &"1


2
2
k +1
3. 6'1 *' '0,D%:.,(% &"1 17?-%1 # C(k+1): " i 3 = (k + 1) ! (k + 2)
i =0

k +1

"i
i =0

i =0

" i + (k + 1)
i =0

k 2 ! ( k + 1) 2
=
+ ( k + 1) 3
4

;0'5851<)
(0&*%7#

k 2 ! ( k + 1) 2 + 4 ! ( k + 1) 3
( k + 1) 2 ! ( k 2 + 4 ! ( k +
1))
=
=
4
4
2
2
2
( k + 1) ! ( k + 4 ! ( k + 1))
( k + 1) ! ( k 2 + 4k + 4)
=
=
4
4
2
2
!"#
035

$%&'
$()%&*+*
,-.
/0123.4%.
1.50.
678.
,-. 678. 9:%0.
( k + 1) ! ( k + 2)
=
4

6,1$&/
0'3>58$
11-33

C'3>D%15' 3 L(01<) 40&D%1.#


3n < n!

Q' '0,D%:.%"% &"1

51' n>=7 .

!*$B+&K0:
=' '0,D%:.,(% % "# 2*,D, "#/ '*#'"1<)/ %0'585)/ "#$ 03&"'7#
C(n)

3n < n!

51' n>=7 .

1. ;0'+#*%-,(% "#$ C(7) 8/ %.)/:

37 = 2187 < 7!= 5040


.
k

2. J0,*2",(% &"1 17?-%1 # C(k), D#+'D) &"1 3 < k!


k +1
< (k + 1)!
3. 6'1 *' '0,D%:.,(% &"1 17?-%1 # C(k+1): 3

3k +1 = 3k .3
< 3.k!
< (k + 1).k!
< (k + 1)!

[;0'5851<) (0&*%7#]
[91' k>7 17?-%1 0>$"' (k+1>3)]
[@/ /!/,/ .,'$& #/ D)#/<.'/]

!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.

11-34

Vous aimerez peut-être aussi