Algorithm Complexity: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
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

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".

TODO