![]() |
Introduction to big O notation and the analysis of algorithms.Michael Monagan, CECM, SFU
Abstract: To determine the running time of an algorithm, computer scientists count either bit operations or arithmetic operations. Then they express the count in big O notation. If we count bit operations we get the "bit complexity" of an algorithm which basically tells us how long the algorithm will take. If we count arithmetic operations we get the "algebraic complexity". As an example of algebraic complexity, the high school algorithm for multiplying two polynomials of degree d over a field F does (d+1)^2 multiplications and d^2 additions. Expressed in big O notation this is O(d^2) arithmetic operations in the field F. This tutorial will formally define O(f(d)) as a set and show how one uses it to analyze an algorithm. We will look at the algebraic properties of big O notation used in the analysis of algorithms. This tutorial is aimed at mathematics students. No computing background is needed. |