diff --git a/algorithms/analysis/bigo_notation.py b/algorithms/analysis/bigo_notation.py new file mode 100644 index 0000000..34e673e --- /dev/null +++ b/algorithms/analysis/bigo_notation.py @@ -0,0 +1,24 @@ +from math import log +import numpy as np +import matplotlib.pyplot as plt +%matplotlib inline +plt.style.use('bmh') + +# Set up runtime comparisons + +n = np.linspace(1,10,1000) +labels = ['Constant','Logarithmic','Linear','Log Linear','Quadratic','Cubic','Exponential'] +big_o = [np.ones(n.shape),np.log(n),n,n*np.log(n),n**2,n**3,2**n] + +# Plot setup + +plt.figure(figsize=(12,10)) +plt.ylim(0,50) + +for i in range(len(big_o)): + plt.plot(n,big_o[i],label = labels[i]) + + +plt.legend(loc=0) +plt.ylabel('Relative Runtime') +plt.xlabel('n')