This article is the second part of a two part series on algorithm analysis. On the last part, we built a bottom-up understanding of and how we analyze algorithms, why we do it that way and their time complexity. We ended that article with our finished mathematical model. Now, we are going to introduce the concept of orders of growth, which types of algorithms fall into each of the most famous orders and then we’re going to talk about growth of functions within the context of algorithm analysis (Big Oh, Omega and Theta notations). …

You’ve probably already heard of algorithm analysis. Normally, within this topic students tend to study things like order of growth, Big Oh notation, Theta notation, asymptotic growth, worst case analysis and so forth. This article is the first part of a two-part series that will cover all of these topics incrementally. At the end of it, you’ll have a deep understanding of why we analyze algorithms the way we currently do and where do these different notations come into play.

This first part is dedicated to the construction of our analysis model. We’ll start by asking ourselves how exactly should…

I'm a computer science student with an interested for web development, algorithms and design. I like to build elegant solutions to people's problems.