Algorithms & Datastructures

Hash tables.

Hashing is an important Data Structure which is designed to use a special function called the Hash function which is used to map a given value with a particular key for faster access of elements. The efficiency of mapping depends of the efficiency of the hash function used. In this post you will learn and implement the hash table data structure.

Priority queues.

Priority queues s another type of queue where data is stored with a priority. While processing the this priority is used. Unlike normal queues data with higher priority is processed first. In this post about queues, you will learn from the basics to implementing the priority queue. So let’s get started.

Heaps and binary heaps.

Heaps are special type of data structure based on the binary tree. All heaps are further divided into two types. They are max and min binary heaps. In this post about the heaps, you will learn and implement the heaps.

Traversing binary trees.

Tree is a non linear data structure. In the case of SSL, DLL, stacks or queues traversing in simple as we read from head node to tail node. But to traverse the binary search tree there are multiple approaches. In this post we will be discussing the various possible ways to traverse a binary tree.

trees representation.

Trees, Binary trees and Binary search trees.

A tree is a non-linear data structure unlike a singly linked list, doubly linked list, stacks or queues. The tree is a data structure in which nodes are connected in the parent/child relationship. In this post let’s talk about trees and types of trees, specifically about binary and binary search tree with insert, remove and find operations.


Queue is a linear data structure in which the data inserted from one end and removed from another end. Queues are simplest data structures to understand and implement as we use them in everyday life. This article explains various operations on queues with code implementations.


The stack is a linear data structure in which order of the operations is important.That is to say, all the operations are performed on a single point or same end called head node or top node. There are many real life examples of stacks such as stack of chairs, book, plates etc. If you want to know more about stack data structure and perform some operations on it, well this article is for you.

Doubly Linked Lists.

Doubly linked list similar to the singly linked list. In a singly linked list nodes are connected in only direction. Whereas in doubly linked list node are connected in both direction. Thus a doubly linked list can be traversed from head to tail and tail to head. This reduces search time complexity by half. If you want read more about doubly linked list and various operations on it, this is the best article. Don’t forget to get a cup of coffee before going further.

Singly linked List.

Singly linked list is the first and easiest of all data structures. Singly linked list is built using nodes. Each node has a value object and address to next node. A singly linked list can store heterogeneous data.A node in the singly linked list are connected to next node in only one direction thus this data structure is called as singly linked list. This article explains how singly linked lists work and various operations possible on it with implementations. So get yourself a cup of coffee and start reading and coding.

Naive string search algorithm

Naive string search algorithm is used if we want a string has substring init. Can be used to count the number of times the substring is appearing in main string. This post explains procedure behind naive string search algorithm with examples and implementations in various languages. What are you waiting for get a cup of coffee and go ahead.