A guide on how to compare algorithms’ behaviour

Photo by Darwin Vegher on Unsplash

This article was first published on April 15, 2020 on my personal blog here: https://www.andreadiotallevi.com/blog/big-o-notation-and-the-magic-of-time-complexity.

Have you ever wondered how your algorithm would perform if you drastically increase the input data set? The concept programmers use to compare algorithms’ behaviours is the big-O mathematical notation.

Big-O notation is used in Computer Science to describe the worst-case performance or complexity of an algorithm, ignoring low-level details such as the implementation programming language, the hardware the algorithm runs on, or the instruction set of the given CPU.

In this article I will explore the fundamental components of algorithm complexity analysis, describe how…


Photo by Bahador on Unsplash

This article was first published on February 20, 2020 on my personal blog here: https://www.andreadiotallevi.com/blog/how-to-incrementally-develop-an-algorithm-using-test-driven-development.

In the world of software development, test-driven development (TDD) is a discipline where failing tests are written first, and only then is the actual software code created, aiming to pass the newly-generated tests.

In this article, I will explore the fundamental components of test-driven development, with an example of how to incrementally develop an algorithm using the TTD cycle.

The example I will use is the prime factors kata, which challenges you to find all the prime factors of a given integer. …

Andrea Diotallevi

Software engineer, architect, pianist, passionate about algorithms, web technologies and learning new skills.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store