02 AlgorithmAnalysisIntroduction New
02 AlgorithmAnalysisIntroduction New
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
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
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
1000
f2(n)
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
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)
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++)
A[ MinPos ] = temp;
18