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…
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. …
Software engineer, architect, pianist, passionate about algorithms, web technologies and learning new skills.