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

It's no secret that when it comes to search structures, hash tables are fast. Performance wise, a hashtable can be much faster than any of the ordered search tree's frequently discussed in my posts. If your data doesn't require a

Binary Search Tree's are great. A couple dozen lines of code yields you with an efficient ordered collection suitable for all kinds of stuff from sets to symbol tables. A couple dozen more lines, and that efficiency can be guaranteed through self balan

When implementing data structures, its crucial to validate that your implementation is working as expected. A suite of tests is essential to not only debugging, but also optimizing performance one your implementation is correct. In the past I've discus

As computer architectures continue to evolve, data structures which were once considered well suited for one task may shift to become more applicable for a different task. One example of this is the family of balanced search tree's known as B-Trees. B-