02 algorithm analysisintroduction
TRANSCRIPT
![Page 1: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/1.jpg)
04/12/231
Advanced Algorithm Analysis
![Page 2: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/2.jpg)
Today’s Lecture Algorithm Use of Algorithms Algorithm Designing Algorithm Analysis Experimental proof of efficiency of an
Algorithm *Mathematical Approach
204/12/23
![Page 3: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/3.jpg)
304/12/23
Algorithm Problem Statement
Relationship b/w input and output
Algorithm Procedure to achieve the relationship
Definition A sequence of computational steps which
transform the input to output
Instance The input needed to compute solution
Correct Algorithm for every input it halts with correct output
![Page 4: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/4.jpg)
404/12/23
Use of Algorithms
Human Genome Project Internet Electronic Commerce Manufacturing & Commercial Setting Communication Links (Graph) Matrix Multiplication Proof of equation
![Page 5: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/5.jpg)
504/12/23
Algorithms Design
Design
Data StructureTechniques
Hard Problems
![Page 6: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/6.jpg)
604/12/23
Algorithms Analysis
Efficiency
SpeedMemory
Bench Marks
![Page 7: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/7.jpg)
704/12/23
Running Time to Sort Array of 2000 Integers
Type of Computer Time (sec)
Home Computer 51.915
Desktop Computer 11.508
Minicomputer 2.382
Mainframe Computer 0.431
Supercomputer 0.087
![Page 8: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/8.jpg)
804/12/23
Comparison
Array Size Home Comp
Desktop Comp
125 12.5 2.8
250 49.3 11.0
500 195.8 43.4
1000 780.3 172.9
2000 3114.9 690.5
![Page 9: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/9.jpg)
904/12/23
Graphical Comparison
f1(n) = 0.0007772 n2 + 0.00305 n + 0.001
f2(n) = 0.0001724 n2 + 0.00040 n + 0.100
f1(x)
f2(n)
125
3000
2000
1000
0
250 500 1000 2000
![Page 10: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/10.jpg)
1004/12/23
Analysis of Resultsf(n) = a n2 + b n + c
where a = 0.0001724, b = 0.0004 and c = 0.1
n f(n) a n2 % of n2
125 2.8 2.7 94.7
250 11.0 10.8 98.2
500 43.4 43.1 99.3
1000 172.9 172.4 99.7
2000 690.5 689.6 99.9
![Page 11: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/11.jpg)
1104/12/23
Complexity Classes
Adjective Classes
O-Notation
Constant O(1)
Logarithmic O(log n)
Linear O(n)
n log n O(n log n)
Quadratic O(n2)
Cubic O(n3)
Exponential O(2n)
Exponential O(10n)
![Page 12: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/12.jpg)
1204/12/23
Complexity Method Name
O(n2) Selection Sort, Insertion sort
O(n lg n) Quick Sort, Heap Sort, Merge Sort
O(n) Radix Sort
![Page 13: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/13.jpg)
1304/12/23
Running Time
f(n) n = 2 n = 16 n = 256
n=1024
n=1048576
1 1(ms) 1(ms) 1(ms) 1(ms) 1(ms)
log2 n 1 4 8 10 20
n 2 16 256 1.02(Ms) 1.05(s)
nlog2 n 2 64 2.05(Ms) 10.2 21
n2 4 25.6 65.5 1.05(s) 1.8(wk)
n3 8 4.1(Ms) 16.8(s) 17.9(m) 36559
(Years)
2n 4 65.5 3.7*1063
(Year)
5.7*10294
(Yrs)
2.1*1031563
![Page 14: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/14.jpg)
1404/12/23
Insertion Sort
![Page 15: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/15.jpg)
1504/12/23
Insertion Sort
![Page 16: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/16.jpg)
16
Insertion Sort
![Page 17: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/17.jpg)
Instructor: Muhammad Umair
1704/12/23
Insertion Sort
![Page 18: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/18.jpg)
1804/12/23
Selection Sort
Void Selection (Input Array A) int MinPos, temp, i, j; for(i = n-1; i > 0; i--)
MinPos = i; for ( j = 0; j < i; j++)
If ( A[ j ] < A[ MinPos ]) MinPos = j;
Temp = A[ i ]; A[ i ] = A[ MinPos ]; A[ MinPos ] = temp;
![Page 19: 02 algorithm analysisintroduction](https://reader034.vdocuments.mx/reader034/viewer/2022052523/5554a8bbb4c90502618b50b5/html5/thumbnails/19.jpg)
Lecture Summary Algorithm Use of Algorithms Algorithm Designing Algorithm Analysis Experimental proof of efficiency of an
Algorithm *Mathematical Approach Assignment 01
19