Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
69 views

Advanced Algorithm Analysis: Lecture # 02

This lecture covered algorithms, their uses, design, and analysis. It discussed algorithm complexity classes like constant, logarithmic, linear, and quadratic time. Sorting algorithms like insertion sort and selection sort were presented. Experimental results showed sorting time increases quadratically with input size. The lecture concluded with announcing the first assignment.

Uploaded by

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

Advanced Algorithm Analysis: Lecture # 02

This lecture covered algorithms, their uses, design, and analysis. It discussed algorithm complexity classes like constant, logarithmic, linear, and quadratic time. Sorting algorithms like insertion sort and selection sort were presented. Experimental results showed sorting time increases quadratically with input size. The lecture concluded with announcing the first assignment.

Uploaded by

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

Advanced Algorithm

Analysis
Lecture # 02

05/24/17 1
Previous Lecture
Introduction to Course

Basic Knowledge about Data Structure

Diagnostic Quiz

05/24/17 2
Todays Lecture
Algorithm
Use of Algorithms
Algorithm Designing
Algorithm Analysis
Experimental proof of efficiency of an
Algorithm
*Mathematical Approach
Assignment 01

05/24/17 3
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

05/24/17 4
Use of Algorithms
Human Genome Project
Internet
Electronic Commerce
Manufacturing & Commercial Setting
Communication Links (Graph)
Matrix Multiplication
Proof of equation

05/24/17 5
Algorithms Design
Design

DataStructure
Techniques

Hard Problems

05/24/17 6
Algorithms Analysis
Efficiency

Speed
Memory

Bench Marks

05/24/17 7
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

05/24/17 8
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

05/24/17 9
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

05/24/17 10
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
05/24/17 11
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)
05/24/17 12
Complexity Method Name

O(n2) Selection Sort, Insertion sort

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

O(n) Radix Sort

05/24/17 13
Running Time

f(n) n = 2 n = 16 n= n=102 n=104857


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)

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


(Years)

2 n
4 65.5 3.7*1063 5.7*10294 2.1*1031563
(Year)
(Yrs)

05/24/17 14
Insertion Sort

05/24/17 15
Insertion Sort

05/24/17 16
Insertion Sort

05/24/17 17
Insertion Sort

05/24/17 18
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;

05/24/17 19
Lecture Summary
Algorithm
Use of Algorithms
Algorithm Designing
Algorithm Analysis
Experimental proof of efficiency of an
Algorithm
*Mathematical Approach
Assignment 01

05/24/17 20

You might also like