In the early days of computing when computer science practitioners worked in incredibly resource constrained environments, and the vast tomes of research into efficient sorting had yet to be composed and algorithmic complexity

Often times when we have a collection of values, we are more interested in the order statistics of the collection: find the min value, find the max value, find the K'th smallest value, and what have you. There are

Heaps are ubiquitous in computer science. If you need the minimum, or maximum of a collection, few choices are better than a heap for getting them. Heap-forming algorithms are the foundation of many different algorithms and data structures. From heapso

For the first 15 years or so of computing if you wanted an in-place general purpose sorting algorithm you were stuck with O(n^2) sorting algorithms. Insertion sort, selection sort, and bubble sort were about as far as

Searching and sorting are the two most common processes performed on a computer, and for that reason a lot of research has gone into the various methods of performing those tasks. Range searching is an expansion of general sear