Recent posts

Greedy Algorithms

4 minute read

A greedy algorithm, as the name suggests, always makes the choice that seems to be the best at that moment. This means that it makes a locally-optimal choice...

Dynamic Programming

9 minute read

Dynamic programming is all about breaking down an optimization problem into simpler sub-problems, and storing the solution to each sub-problem so that each s...

Sorting Algorithms with Animations

25 minute read

Sorting refers to arranging the given data in a particular format and it is one of the most common operations in Computer Science.

Binary Search Trees

13 minute read

The Binary Search Tree (BST) is a Binary Tree with the following properties.

Hash Tables

17 minute read

A hash table is an unordered collection of key-value pairs, where each key is unique. Also, they are the most commonly used data structure for implementing a...