**Bipartite Graph Check** is quite easy and can be implemented using BFS or DFS. I am assuming you already know what is **Bipartite Graph**. There is one critical case that comes in my mind right now is following one:

Now I will show a DFS based implemention of bipartite check. You might already know...

Given a list of elements Segment Tree can find out any information of a segment/part of the list. As an example, given an array `[8, 7, 3, 9, 5, 1, 10]`

you are asked to find sum of elements between between 2nd and 5th element (index starts from 0, including boundary). Answer is `18`

.

##### Operations

...Hash map (Hash table) is a data structure that maps keys to values with constant time. It is a very useful and commonly used data structure by programmers either for development or competitive programming. C++ programmer often use **STL map container class** as a hash map and Java programmers use **Has**...

**Trie** is one of my favourite data structures because its easy understand application of Trie and easy to implement as well. In case you don't know Trie comes from the word **Retrieval** because Trie can retrieve several words given prefix of the word. One most common usage of **Trie** that comes in mind...

At first enlighten yourself about **Heap**. Heap is a tree based data structure with heap property. Binary Heap is a very common implementation of heap data structures. Once you learn **Binary Heap** your eagerness to learn some advance Heap data structures will definitely increase. Two other advance he...