1 Algoritmalar, Tamsayılar ve Matrisler CSC-2259 Ayrık Yapılar Konstantin Busch - LSU 1 Fonksiyonların Büyümesi Konstantin Busch - LSU 2 R R f : R R g : Big-Oh: )) ( ( is ) ( x g O x f Big-Omega: )) ( ( is ) ( x g x f Big-Theta: )) ( ( is ) ( x g x f En kötü durum En iyi durum Aynı durum
68
Embed
Algoritmalar, Tamsayılar ve Matrisler1 Algoritmalar, Tamsayılar ve Matrisler CSC-2259 Ayrık Yapılar Konstantin Busch - LSU 1 Fonksiyonların Büyümesi Konstantin Busch - LSU 2
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
1
Algoritmalar, Tamsayılar ve Matrisler
CSC-2259 Ayrık Yapılar
Konstantin Busch - LSU 1
Fonksiyonların Büyümesi
Konstantin Busch - LSU 2
RRf : RRg :
Big-Oh: ))(( is )( xgOxf
Big-Omega: ))(( is )( xgxf
Big-Theta: ))(( is )( xgxf
En kötü durum
En iyi durum
Aynı durum
2
(Notation abuse: )
Konstantin Busch - LSU 3
))(()( xgOxf
There are constants (called witnesses)such that for all :
kC,
|)(||)(| xgCxf
Big-Oh:
kx
))(( is )( xgOxf
Konstantin Busch - LSU 4
12)( 2 xxxg2)( xxf
)12( 22 xxOx
1222 xxxFor :0x
)()( xgxf
0,1 kC
))(()( xgOxf
Witnesses:
3
Konstantin Busch - LSU 5
)(12 22 xOxx
22222 4212 xxxxxx For :1x
)(4)( xfxg
1,4 kC
12)( 2 xxxg2)( xxf
))(()( xfOxg
Witnesses:
Konstantin Busch - LSU 6
))(()( xgOxf ))(()( xfOxg ve
f ve aynı derecededirg
Example:2x ve
aynı derecededir122 xx
4
Konstantin Busch - LSU 7
))(()( xgOxf |)(||)(| xhxg ve
Example: )(12 22 xOxx
))(()( xhOxf
|||| 32 xx )(12 32 xOxx
Konstantin Busch - LSU 8
)(2 nOn
)(2 nOn Suppose
|||| 2 nCn Then for all :kn
Cn ||
Impossible for ),max( kCn
5
Konstantin Busch - LSU 9
Theorem: If 01
1
1)( axaxaxaxf n
n
n
n
then )()( nxOxf
Proof:
|)||||||(|
||||||||
||||||||
|||)(|
011
011
01
1
1
01
1
1
aaaax
xaxaxaxa
axaxaxa
axaxaxaxf
nn
n
nnn
n
n
n
n
n
n
n
n
n
n
n
for 1x
1|,||||| 01 kaaaC nn
End of Proof
Witnesses:
Konstantin Busch - LSU 10
)(21 2nOn
221 nnnnn
1,1 kCWitnesses:
6
Konstantin Busch - LSU 11
)(21! nnOnn
nnnnnnn 21!
1,1 kCWitnesses:
Konstantin Busch - LSU 12
)!(2 nOn
!2
)32(2
)222(2
222 1
n
n
nn
2,2 kCWitnesses:
7
Konstantin Busch - LSU 13
)log(!log nnOn
nnnn n loglog!log
1,1 kCWitnesses:
Konstantin Busch - LSU 14
)(log nOn
nnn n 2log2loglog
1,1 kCWitnesses:
)2( nOn
1n nn 2For :
8
Konstantin Busch - LSU 15
)(loglog nOna
a
nna
log
loglog
1,log
1 k
aCWitnesses:
For :
Konstantin Busch - LSU 16
)1(1
Ox
11
x
1,1 kCWitnesses:
constant
1x
9
Konstantin Busch - LSU 17
!2loglog1 2 nnnnnn n
Higher growth
Interesting functions
Konstantin Busch - LSU 18
Theorem: If ,))(()( 11 xgOxf ))(()( 22 xgOxf
then |)))(||,)((max(|))(( 2121 xgxgOxff
Proof: |)(||)(| 111 xgCxf
|)(||)(| 222 xgCxf
1kx
2kx
),max( 21 kkx
|))(||,)(max(|)(
|)(||)(|
|)(||)(||)()(||))((|
2121
2211
212121
xgxgCC
xgCxgC
xfxfxfxfxff
),max(, 2121 kkkCCC Witnesses:End of Proof
10
Konstantin Busch - LSU 19
Corollary: If ,))(()(1 xgOxf ))(()(2 xgOxf
then ))(())(( 21 xgOxff
Theorem: If ,))(()( 11 xgOxf ))(()( 22 xgOxf
then ))()(())(( 2121 xgxgOxff
Konstantin Busch - LSU 20
)log(log)3()!log(3 22 nnOnnnn
)(3 nOn
)log()!log( nnOn
)(3 22 nOn
)(loglog nOn
)log(
)log(
)!log(3
2 nnO
nnnO
nn
)log(
)log()3(
2
2
nnO
nn
)log(
log)3()!log(3
2
2
nnO
nnnn
Multiplication
Addition
11
(Notation abuse: )
Konstantin Busch - LSU 21
))(()( xgxf
There are constants (called witnesses)such that for all :
kC,
|)(||)(| xgCxf
Big-Omega:
kx
))(( is )( xgxf
Konstantin Busch - LSU 22
)(758 323 xxx
323 8758 xxx 1x
1,8 kCWitnesses:
12
(Notation abuse: )
Konstantin Busch - LSU 23
))(()( xgxf
Big-Theta: ))(( is )( xgxf
))(( )( and ))(( )( xgxfxgOxf
))(( )( and ))(( )( xfOxgxgOxf Alternative definition:
Same order
Konstantin Busch - LSU 24
)(log83 22 xxxx
1,11 kCWitnesses:
2222 1183log83 xxxxxx
)(log83 22 xOxxx
1,3 kCWitnesses:
22 3log83 xxxx
)(log83 22 xxxx
13
Konstantin Busch - LSU 25
Theorem: If 01
1
1)( axaxaxaxf n
n
n
n
then )()( nxxf
Proof: We have shown: )()( nxOxf
We only need to show )()( nxxf
Take and examine two cases
Case 1:
Case 2:
0na
0na
1x
Konstantin Busch - LSU 26
Case 1: 0na
n
nn
n
n
n
n
n
xa
nbxxa
axaxaxaxf
)(
1
01
1
1
|)|,|,||,max(| 021 aaab nn
)( aa
nbx
n
For andnaa 0
)1( x
Case 2 is similarEnd of Proof
14
Complexity of Algorithms
Konstantin Busch - LSU 27
Time complexity
Space complexity
Number of operations performed
Size of memory used
Konstantin Busch - LSU 28
Linear search algorithm
ardsil(int Dizi[], int N, int aranan){
int k;for (k=0; k<N; k++) {
if (Dizi[k]==aranan)return k;
}return -1;
}
15
Konstantin Busch - LSU 29
Item not found in list:
Comparisons
1)1(2 n
Item found in position : 12 i
Worst case performance: )(1)1(2 nOn
Time complexity
i
Konstantin Busch - LSU 30
Binary search algorithm
Binary-Search( ) {
while( ) {
if ( ) else
}if ( ) return else return
}
naaax ,,,, 21 1i
ji
2/)( jim
i
0
//left endpoint of search area
//item is in right half
nj //right endpoint of search area
iax
1 mimax
mj //item is in left half
//item found
//item not found
16
Konstantin Busch - LSU 31
1 2 3 5 6 7 8 10 12 13 15 16 18 19 20 22
Search 19
1 2 3 5 6 7 8 10 12 13 15 16 18 19 20 22
12 13 15 16 18 19 20 22
18 19 20 22
18 19
Konstantin Busch - LSU 32
Time complexity
Size of search list at iteration 1: 02
n
Size of search list at iteration 2:12
n
Size of search list at iteration :12 k
nk
17
Konstantin Busch - LSU 33
Size of search list at iteration :12 k
nk
Smallest list size: 1
in last iteration : 12 1
m
nm
nm log1
Konstantin Busch - LSU 34
Total comparisons:
)(log12)log1( nn
#iterations
Comparisonsper iteration
Last comparison
18
Konstantin Busch - LSU 35
Bubble sort algorithm
Bubble-Sort( ) {for ( to ) {
for ( to ) if ( )
swap}
naaa ,,, 21
1 jj aa
1i 1n
1j in
1, jj aa
Konstantin Busch - LSU 36
23415
23451
23541
25341
52341
First iteration
52341
Second iteration
52341
52431
54231
54321
Last iteration
19
Konstantin Busch - LSU 37
Time complexity
Comparisons in iteration 1:
Comparisons in iteration 2:
Comparisons in iteration :
1n
2n
1n 1
Total: )(2
)1()1(21 2n
nnn
Class :
Konstantin Busch - LSU 38
Hassas problemler
Problems with algorithms whose time complexity is polynomial )( bnO
P
Examples: Search, Sorting, Shortest path
20
Konstantin Busch - LSU 39
Intractable problems
Solution can be verified in polynomial timebut no polynomial time algorithm is known