# Tag: algorithms and data structure

## A Complete Guide to Open Addressing & its Classification to eliminate Collisions

Hashing has the fundamental problem of collision, two or more keys could have same hashes leading to the collision. Open addressing also called as Close hashing is the

## A guide to “Separate Chaining” and its implementation in C

Hashing has the fundamental problem of collision, two or more keys could have same hashes leading to the collision. Separate Chaining or Open Hashing is one of the

## 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

## AVL Tree – Introduction to rotations and its implementation

AVL tree is a self balancing binary search tree, where difference of right subtree and left subtree height to a node is at most 1. A self-balancing binary

## Memory Efficient Doubly Linked List – Explanation and Implementation

The memory efficient doubly linked list, also known as XOR linked list is a modification of doubly linked list where each node is same as the node of

## 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