Algorithm Complexity: Difference between revisions
Line 14: | Line 14: | ||
Comparing running time for two algorithms of which one is c<sub>1</sub>n<sup>2</sup> and the other is c<sub>2</sub> n lg n, even if c<sub>2</sub> ≥ c<sub>1</sub>, no matter how much smaller c<sub>1</sub> is than c<sub>2</sub>, there will always be a crossover point beyond which the c<sub>2</sub>n lg n algorithm is faster. | Comparing running time for two algorithms of which one is c<sub>1</sub>n<sup>2</sup> and the other is c<sub>2</sub> n lg n, even if c<sub>2</sub> ≥ c<sub>1</sub>, no matter how much smaller c<sub>1</sub> is than c<sub>2</sub>, there will always be a crossover point beyond which the c<sub>2</sub>n lg n algorithm is faster. | ||
Best case running time. | Best-case running time. | ||
Worst case running time. | Worst-case running time. | ||
Average case running time. | Average-case running time. | ||
Expected running time. | Expected running time. |
Revision as of 18:49, 6 August 2018
Internal
Overview
Algorithm analysis aims at determining the amount of resources consumed by an algorithm while solving a computational problem. In most cases the resources refer to time. An analysis can also refer to memory, network bandwidth, etc.
An algorithm is analyzed in the context of a random-access machine. memory hierarchy.
Describe the RAM model that is used for analysis. Instruction set. Memory hierarchy.
Comparing running time for two algorithms of which one is c1n2 and the other is c2 n lg n, even if c2 ≥ c1, no matter how much smaller c1 is than c2, there will always be a crossover point beyond which the c2n lg n algorithm is faster.
Best-case running time.
Worst-case running time.
Average-case running time.
Expected running time.
Analysis of Insertion Sort
Recurrence
The running time of recursive algorithms can be analyzed using recurrences.
A method of analyzing running time of recursive algorithms is the "master theorem".