0% found this document useful (0 votes)
3 views

02 AlgorithmAnalysisIntroduction New

Uploaded by

XEON
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

02 AlgorithmAnalysisIntroduction New

Uploaded by

XEON
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

Advanced Algorithm

Analysis

1
Today’s Lecture
 Algorithm
 Use of Algorithms
 Algorithm Designing
 Algorithm Analysis
 Experimental proof of efficiency of an
Algorithm
 Mathematical Approach

11/08/24 2
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

11/08/24 Instructor: Muhammad Umair 3


Use of Algorithms
 Human Genome Project
 Internet
 Electronic Commerce
 Manufacturing & Commercial Setting
 Communication Links (Graph)
 Matrix Multiplication
 Proof of equation

4
Algorithms Design
 Design

 DataStructure
 Techniques

 Hard Problems

5
Algorithms Analysis
 Efficiency

 Speed
 Memory

 Bench Marks

6
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

7
Comparison
Array Size Home Desktop
Comp 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

8
Graphical Comparison

3000 f1(n) = 0.0007772 n2 + 0.00305 n + 0.001


f2(n) = 0.0001724 n2 + 0.00040 n + 0.100
f1(x)
2000

1000

f2(n)

125 250 500 1000 2000

9
Analysis of Results
f(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
10
Complexity Classes
Adjective O-Notation
Classes
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)
11
Complexity Method Name

O(n2) Selection Sort, Insertion sort

O(n lg n) Quick Sort, Heap Sort, Merge Sort

O(n) Radix Sort

12
Running Time

n= n=102 n=104857
f(n) n = 2 n = 16 6
256 4
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)

4.1(Ms) 16.8(s) 17.9(m) 36559


n3 8
(Years)

2n 4 65.5 3.7*1063 5.7*10294 2.1*1031563


(Year)
(Yrs)

13
Insertion Sort

14
Insertion Sort

15
Insertion Sort

16
Insertion Sort

17
Selection Sort
 Void Selection (Input Array A)
 intMinPos, 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;

18

You might also like