Analysis of Algorithms - PowerPoint PPT Presentation


PPT – Analysis of Algorithms PowerPoint presentation | free to download - id: 9f59d-YWRlY


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

Analysis of Algorithms


TTIT33 Algorithms and Optimization Lecture 1. How to measure time/space. Describe algorithms in pseudocode (or in a high-level programming language) ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 18
Provided by: peterl62


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Analysis of Algorithms

Analysis of Algorithms
  • Introductory Example
  • Principles of Analysis
  • Big-Oh notation
  • Time complexity of iterative algorithms
  • Time complexity of recursive algorithms
  • References
  • GT 4.2 , or
  • LD Chapter 1, 2.1-2.2, or
  • CL Chapter 1-3 , or …

Example problem
  • Checking results of an exam
  • Input
  • A set of students (name, personal no) who passed
    the exam
  • Name of a student
  • Output yes or no
  • To implement this on a computer we
  • Characterize the data and the needed operations
    on data ? ADT (e.g ADT Set)
  • Choose a representation of the data in the
    computer? ? datastructure (e.g. table/array)
  • Implement the needed operations algorithm
    (e.g. Table search)
  • Analyse the efficiency of the implementation

How to measure time/space
  • Describe algorithms in pseudocode
    (or in a high-level
    programming language)
  • Analyse number of basic operations as function of
    the size of input data
  • Use simple data memory model
  • Analyse number of needed memory cells

Example of pseudocode
  • function TableSearch ( tableltintegergt T1..n,
    key k )boolean
  • for i from 1 to n do
  • if T i k then return true
  • if T i gt k then return false
  • return false
  • ...scope defined by indentation!

Principles of Algorithm Analysis
  • An algorithm should work for (input) data of any
    size. (Example TableSearch input size is the
    size of the table.)
  • Show the resource (time/memory) used as an
    increasing function of input size.
  • Focus on the worst case performance.
  • Ignore constant factors
  • analysis should be machine-independent
  • more powerful computers introduce speed-up by
    constant factors.
  • Study scalability / asymptotic behaviour for
    large problem sizes
  • ignore lower-order terms, focus on dominating

Order notation
  • Compares growth rate of functions
  • f ? O(g)
  • f grows at most as fast as g
  • apart of constant factors
  • Refer to simple well known functions
  • f(n) grows aproximately as n2

Types of growth comparison
  • f , g growing functions from natural numbers to
    positive real numbers
  • f is (in) O(g) iff there exist c gt 0, n0 ? 1 such
    that f(n) ? c g(n) for all n ? n0 Intuition
    Apart from constant factors, f grows at most as
    quickly as g
  • f is (in) W(g) iff there exist c gt 0, n0 ? 1 such
    that f(n) ? c g(n) for all n ? n0 Intuition
    Apart from constant factors, f grows at least as
    quickly as g
  • W() is the converse of O, i.e. f is in W(g) iff
    g is in O(f) ??
  • f is (in) Q(g) iff f(n) ? O(g(n)) and g(n) ?
    O(f(n)) Intuition Apart from constant factors,
    f grows exactly as quickly as g

Types of growth comparison
W(g) , Q(g), O(g) ..??
…comparison with simple math function
  • 1.84 1019 µsec 2.14 108 days 5845

To check growth rate?
Estimating execution time for iterative programs
Example of algebraic analysis
Example Dependent Nested Loops
Analysis of Recursive Program (1)
Analysis of Recursive Programs...
Towers of Hanoi....
  • As stated earlier
  • Formulate an equation T(1)... T(2)...
  • Unroll a few times, get hypothesis for T(n)...
  • Prove the hypothesis!

Average case analysis
  • Reconsider TableSearch() sequential search
    through a table
  • Input argument one of the table elements,
  • assume it is chosen with equal probability for
    all elements.
  • Expected search time

Time to find the element when it was in the nth