# BOAT - the Big O Analysis Tool

Big O analysis is a way of analyzing the runtime efficiency of a program . The idea is that we tally up the work being done by some lines of code and compare how the amount of work grows as the size of the inputs grow.

The Big O Analysis Tool is a website that
calculates the Big O value of a formula. For example, if one gives BOAT the
formula: `n**2 + 10*n + 100`

, BOAT would correctly guess that the Big O is
`O(n**2)`

.

I wrote BOAT to help people understand and visualize the growth of big O functions. It works by comparing the given function to a reference set of functions and figuring out which function does the best job of bounding the given function.

BOAT is also able to compare two functions and determine whether they grow faster or slower than each other as well as where their crossover point is.

The final feature of BOAT is a plug and play recurrence solver that uses the
Master and Muster methods for determining the Big O of recurrence relations.
For example, Given a relation like: `T(N) = AT(N/B) + F(N)`

, the master theorem
can correctly solve what the Big O is, while the muster theorem solves
recurrences of the form `T(N) = AT(N-B) + F(n)`

BOAT is currently live, but I expect to have to work out some bugs as they pop up now and then.