## An Introduction to Dynamic Programming

This posts gives an introduction to the vast and important concept of dynamic programming. This will give anyone the tools needed to start writing complex DP algorithms.

## Tower of Hanoi

“The tower of Hanoi” is a mathematical puzzle that was invented by the French mathematician Édouard Lucas in 1883. However, legend has it that this concept was originally invented by Indian priests who were acting out the command of an ancient prophecy.

## Breadth First Traversal

This is an algorithm used to traverse a graph consisting of nodes and edges. In this, we traverse a graph “breadth-wise”. This means we visit all the nodes of the graph by going down the different levels of the graph. However, this poses a problem.

## Calculator using PyQt5

A calculator is an object of everyday use and none of us can imagine a life without it. Therefore, I decided to make a calculator of my own using pyqt5.

## Depth First Traversal

This is an algorithm that is used to traverse a graph Depth-wise. We move forward in depth and visit all the adjacent nodes of a given starting node.

## Merge Sort

This is also a kind of divide and conquer algorithm where we divide the array into two parts and then call the same function on the two parts and finally merge the sorted halves.

## Selection Sort

This is a basic sorting algorithm which repeatedly finds the smallest number and replaces it with the number on the first index, then the second index and so on.

## Bubble Sort

In this sorting algorithm we divide adjacent elements into “bubbles” and repeatedly swap them if they are in the wrong order, until there are no more swaps possible.

## Binary Search

Binary search is a search algorithm that cuts down the time taken by linear search by a great amount.In this algorithm, instead of comparing the values of each element, we compare the given value with the middle most element and recursively halve the sorted array.

## Generating Fibonacci Series

What is the Fibonacci series? The Fibonacci series is a series of numbers in which each number is the sum of the two preceding numbers. […]