Analysis of Algorithms
Mariusz Bajger
COMP2781/8781
School of Computer Science, Engineering and Mathematics
May 6, 2011
1 / 21
Reading and Exercises
Reading
Epp, Chapter 11
Exercises
Sec. 11.1 (use as much as you need; revision of MATH1121),
11.2 (blue ones), 11.3 (Ex.135), 11.4 (in blue), 11.5 (Ex.
125)
Good learning strategy: BE ACTIVE!
I
Regularly revise lectures
I
Solve the suggested exercises
I
Be critical when reading textbook/lectures
I
Ask your colleagues, ask the lecturer, don’t be shy!
I
It is OK to ask for help any time
2 / 21
Algorithm Characteristics
(1)
Input
(2)
Output
(3)
Precise steps
(4)
Determinism or
randomness
(5)
Finiteness or
constant run
(6)
Correctness
(7)
Generality
An algorithm
is a
finite sequence
of clearly and
unambiguously defined steps
for performing a task. Each
step must be executable in a finite time and the whole process
must be guaranteed to stop after a finite number of steps.
3 / 21
Time Efficiency (never mind, just wait a few years)
I
Often the running time depends on the
problem size
.
I
Problem size
= size of the input or the value of a
commandline argument.
I
3 Ghz processor performs up to 3 bilion operations per
second, that is, one operation approx. takes up to 0.3
nanoseconds.
4 / 21
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Input size vs time efficiency
I
To approximate running time we need:
(1)
good understanding of the program (algorithm)
(2)
some mathematical analysis tools
(3)
understanding of the system and the computer
I
Combination of some empirical observations and small set
of mathematical tools is usually suﬃcient to approximate
well the running time for most algorithms.
I
Doubling hypothesis
is a practical quick method of
estimating the input size and runtime relationship:
Run
the program several times doubling the input each time
.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '08
 WOUTERS
 Math, Algebra, Big O notation, Analysis of algorithms

Click to edit the document details