4.04 Classification Of Algorithms. Flashcards
Define computability:
Concerned with where a problem can or cannot be solved.
Define feasibility.
Concerned with how efficiently a problem can be solved.
What are the two standard measureS of the efficiency of an algorithm.
Space and time.
What is time?
How long the algorithm takes to execute.
What is space?
How much memory the algorithm uses for the storage of data during execution.
What happens when more than one algorithm exists which can solve a problem?
There is a trade off between time and space e.g. one solution may be quicker but requires more memory than another solution.
How do we measure efficiency?
The amount of space and time required varies depending on the number of inputs to the algorithm, therefore efficiency is normally expressed as a function of the number of inputs to an algorithm, commonly referred to as ‘n’.
How else can we measure efficiency.
Space complexity.
Time complexity:
processor clock speed
Efficiency of hardware implementation of
operations used.
Other processes executing concurrently.
How do we measure time complexity?
Using the big O notation, which allows us to focus on the algorithm rather than the hardware it is being executed on.
How can the order or magnitude of an algorithm be expressed?
As a function of it size.
What does a function map do?
A function maps one set of values onto another.
How do we express linear function?
f(x) = ax+c
How does fx increase?
In a straight line.
How do we express a polynomial function?
f(x) = axm + bx + c
How do we express an exponential function?
f(x) = ab^x