## Tango Tree Data Structure

Tango Tree is an online algorithm. It is a type of binary search tree. It is better than the offline weight balanced binary search tree… Read More »

- Design a Chess Game
- Kth smallest element in a subarray
- Implement a Dictionary using Trie
- Rearrange numbers in an array such that no two adjacent numbers are same
- Trie Data Structure using smart pointer and OOP in C++
- Count smaller elements on right side and greater elements on left side using Binary Index Tree
- Sort an array of strings based on the frequency of good words in them
- Longest string in an array which matches with prefix of the given string
- Queries for number of distinct elements in a subarray | Set 2
- Flipping Sign Problem | Lazy Propagation Segment Tree
- Search in a trie Recursively
- Extendible Hashing (Dynamic approach to DBMS)
- Bottom-up traversal of a Trie
- Gap Buffer Data Structure
- Count inversions in an array | Set 4 ( Using Trie )
- String Range Queries to find the number of subsets equal to a given String
- B*-Trees implementation in C++
- Insertion in a Trie recursively
- Shortest cycle in an undirected unweighted graph
- Van Emde Boas Tree | Set 1 | Basics and Construction
- Strings from an array which are not prefix of any other string
- Maximise the number of toys that can be purchased with amount K using min Heap
- Number of triplets in array having subarray xor equal
- Proto Van Emde Boas Tree | Set 2 | Construction
- Van Emde Boas Tree | Set 2 | Insertion, Find, Minimum and Maximum Queries
- Check if the given Trie contains words starting from every alphabet
- Lexicographical ordering using Heap Sort
- Pairing Heap
- Range maximum query using Sparse Table
- Proto Van Emde Boas Tree | Set 3 | Insertion and isMember Query

Tango Tree is an online algorithm. It is a type of binary search tree. It is better than the offline weight balanced binary search tree… Read More »

Self Organizing list is a list that re-organizes or re-arranges itself for better performance. In a simple list, an item to be searched is looked… Read More »

We have an array arr[]. We need to find the sum of all the elements in the range L and R where 0 <= L… Read More »

Given an array of strings, print them in alphabetical (dictionary) order. If there are duplicates in input array, we need to print all the occurrences.… Read More »

Check whether a given graph contains a cycle or not. Example: Input: Output: Graph contains Cycle. Input: Output: Graph does not contain Cycle. Prerequisites: Disjoint… Read More »

Decision tree algorithm falls under the category of supervised learning. They can be used to solve both regression and classification problems. Decision tree uses the… Read More »

Let us consider the following problem to understand Segment Trees. We have an array arr[0 . . . n-1]. We should be able to 1… Read More »

We have briefly discussed sparse table in Range Minimum Query (Square Root Decomposition and Sparse Table) Sparse table concept is used for fast queries on… Read More »

Given a string s, break s such that every substring of the partition can be found in the dictionary. Return the minimum break needed. Examples:… Read More »

In this article we will see that how to calculate number of elements which are greater than given value in AVL tree. Examples: Input :… Read More »

What is the Burrows-Wheeler Transform? The BWT is a data transformation algorithm that restructures data in such a way that the transformed message is more… Read More »

Let us consider the following problem to understand Segment Trees without recursion. We have an array arr[0 . . . n-1]. We should be able… Read More »

A wavelet tree is a data structure that recursively partitions a stream into two parts until we’re left with homogeneous data. The name derives from… Read More »

We introduced and discussed an implementation in below post. Trie | (Insert and Search) – GeeksforGeeks The implementation used in above post uses an array… Read More »