Exploring Intriguing Algorithms, every Monday

Inspired by 100 days coding challenge #100DaysOfCode, I decided to take on a year long challenge, a weekly writing series that explores some interesting and famous algorithms out there in the world of computer science.

So every Monday, I’d pick an algorithm concept, do a bit of research and write a post explaining the core idea and how it helps solve a particular problem, and also discuss its origin, facts and runtime efficiency in terms of big(0) notation if essential.

I’ll illustrate the concepts with example and the source code of the examples can be found in my github repository.

I’ll be coding these problems either in C++ or JavaScript (JS is awesome — most obvious reason, and also because it is the most popular language on GitHub). With JavaScript, will use any library or node module, if it makes life easier or code more interesting. Similarly, when using C++, will code with or without STL library.

Anything can be considered an algorithm, not going to constrain myself on this. I’m pretty sure I’ve used lots of algorithms in my career, so it will be fun to pick and investigate some, understand the underlying concept, the abstract model, when it is best suited for the job and when it should be avoided. This is going to be interesting…This is going to be a challenge!