Heaps are a family of trees frequently employed  as priority queues as they allow the efficient location of the minimum (or maximum) element in a collection. They do this by enforcing the heap property which states that no child node has

When it comes to self balancing binary search trees it is almost always assumed that the balance one is referring to is that of access path length. The "traditional" definition of a balanced binary search tree is a tree where the difference in

It can be posited that strings are the most important data type in computing. Without character strings, all we have is a calculator. It is strings which allow us to compose documents, read and send emails, program in anything higher level than binary,

Digital Search Trees are an interesting data structure. Often times they are used as a gentle introduction to bit-oriented data structures, such as PATRICIA tries. Having just covered some other bit focused data structures and algorithms in the previou

Since their inception, Binary Search Tree's have come to be one of the most fundamental data structures in programming. Shortly after their initial development it was realized that with a bit more work we could gurantee a worst case performance of loga