# Category Archives: Advanced Data Structure

## proto van Emde Boas Trees | Set 1 (Background and Introduction)

Let us consider the below problem statement and think of different solutions for it. Given a set S of elements such that the elements are… Read More »

## Implement a Phone Directory

Given a list of contacts which exist in a phone directory. The task is to implement search query for the phone directory. The search query… Read More »

## Binary Indexed Tree : Range Update and Range Queries

Given an array arr[0..n-1]. The following operations need to be performed. update(l, r, val) : Add ‘val’ to all the elements in the array from… Read More »

## Count and Toggle Queries on a Binary Array

Given a size n in which initially all elements are 0. The task is to perform multiple multiple queries of following two types. The queries… Read More »

## Binary Indexed Tree : Range Updates and Point Queries

Given an array arr[0..n-1]. The following operations need to be performed. update(l, r, val) : Add ‘val’ to all the elements in the array from… Read More »

## Min-Max Range Queries in Array

Given an array arr[0 . . . n-1]. We need to efficiently find the minimum and maximum value from index qs (query start) to qe… Read More »

## Print all words matching a pattern in CamelCase Notation Dictonary

Given a dictionary of words where each word follows CamelCase notation, print all words in the dictionary that match with a given pattern consisting of… Read More »

## Range LCM Queries

Given an array of integers, evaluate queries of the form LCM(l, r). There might be many queries, hence evaluate the queries efficiently. LCM (l, r)… Read More »

## Querying the number of distinct colors in a subtree of a colored tree using BIT

Prerequisites : BIT, DFS Given a rooted tree T, with ‘n’ nodes, each node has a color denoted by the array color[](color[i] denotes the color… Read More »

## Longest Common Extension / LCE | Set 2 ( Reduction to RMQ)

Prerequisites : Suffix Array | Set 2 kasai’s algorithm The Longest Common Extension (LCE) problem considers a string s and computes, for each pair (L… Read More »

## Two Dimensional Binary Indexed Tree or Fenwick Tree

Prerequisite – Fenwick Tree We know that to answer range sum queries on a 1-D array efficiently, binary indexed tree (or Fenwick Tree) is the… Read More »

## Counting Triangles in a Rectangular space using BIT

Pre-requisite : BIT(Binary Indexed Tree or Fenwick Tree), 2D BIT Given a 2D plane, respond to Q queries, each of the following type: Insert x… Read More »