Académique Documents
Professionnel Documents
Culture Documents
G1 +%.# 11 - C,+ (0+, +#H# E3) 71 8$ F' # '"1 I$ @317 I$
G1 +%.# 11 - C,+ (0+, +#H# E3) 71 8$ F' # '"1 I$ @317 I$
# 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,-
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
11-4
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").
11-5
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
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
/0*1()23%&456754148-89:
&'()*(+,-%
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)
O(2n)
n3!
cn , nn ! ;<*%"1<&/ (exponential)!
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
O(lg2n)
O(n3)
#
11-10
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
11-11
11-12
f(n) = 10,001,040,080
11-13
11-14
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
@(f(n))
3. @(n)!C(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
n0
n0
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
!"# 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.?.,
!"# 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)
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&"#"%/:
11-21
15n + 32 $ @(n)
1324 $ @(1)
5n2 $ O(n2)
200*(n+n7) $ @(n7)
(n+n7)*m2 $ @(n7 m2)
5nlgn + 4 $ @(nlgn)
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
R: M4&#&$42*( +&-$B(2
O,-&1.) *%5K+&) R
11-25
i"Dn
7"151,"-0,(
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
log x a = b iff
xb = a
log c b
log c a
log a b =
b logb x = x
log a a = 1
! 63 "
& 11 % = !5.72 " = 6, #5.1634$ = 5
& %
(floor)
(ceil)
!"# 035 $%&' $()%&*+* ,-. /0123.4%. 1.- 50. 678. ,-. 678. 9:%0.
11-28
#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
log 2 n
i
" 2=
i =0
!"# 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
"
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
"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
"
"
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
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
" i 3 = 0 <=>
i =0
"i
0 ! (0 + 1)
=0
4
k 2 ! ( k + 1)
4
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
51' n>=7 .
!*$B+&K0:
=' '0,D%:.,(% % "# 2*,D, "#/ '*#'"1<)/ %0'585)/ "#$ 03&"'7#
C(n)
3n < n!
51' n>=7 .
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