In May of 2021, I wrote an article (and created a corresponding Jupyter Notebook) that details how you can use Python to visualize and determine runtime complexities for different algorithms. I wrote this article for the completion of the CS331 course from which I learned how to determine runtime complexities of more complex algorithms by using experimentation and practical theory. This article was written as a demonstration of my knowledge gained from this course.
The article was published on BetterProgramming, one of Medium's largest programming publications for whom I am a regular contributing writer. To read the article, visit my post on BetterProgramming or my post on dev.to.