Tag: algorithms

A tutorial on Dynamic Programming (DP) Approach

Dynamic programming is one of the algorithmic paradigm that solves many problems that are failed under other paradigms such as Divide and Conquer, Greedy approach etc. The idea

An Introduction to Algorithmic Thinking and why it is of prime importance

Algorithmic thinking is a process of reaching a solution with a fixed set of steps. Sometimes problems can have a particular solution and sometimes for some problems we

A complete guide to hashing and collision resolution strategy

Hashing is an approach which provides searching operation in constant running time. There are many applications that require predominantly dictionary operations(Insert, Delete, Search). One of the approaches could

Dijkstra’s Algo – single source shortest path Implementation, Pseudocode & Explanation

In our previous post Application of Graph – Shortest Path Problems we discussed the findings of the optimal path or the shortest path between the nodes of a graph. We talk

Radix Sort – Explanation, Pseudocode and Implementation

Radix Sort is a non-comparative sorting algorithm with asymptotic complexity O(nd). It is one of the most efficient and fastest linear sorting algorithms. Radix sort was developed to

Counting Sort – Explanation, Pseudocode and Implementation

Counting Sort is a linear sorting algorithm with asymptotic complexity O(n+k), which was found by Harold Seward in 1954. Counting Sort is very time efficient and stable algorithm

Minimum Candy Distribution – Interview Algorithm Problem

Recently in an online test I faced this question i.e. on how to minimize the number of candies/toffee to be distributed by a teacher and found that a lot

Shell Sort Algorithm- Explanation, Implementation and Complexity

Shell Sort is a generalized version of insertion sort. It is an in–place comparison sort. Shell Sort is also known as diminishing increment sort, it is one of