Range Trees
Range Trees are order data structures. They hold a list of points or nodes. They are used to answer queries about something in a certain range of any given graph or list.
Suppose, there is an array and you want to find out the Kth smallest element in a subarray of the given array. Here you'll be using Range trees.