One of the most ubiqitous algorithms in data compression is Huffman Coding. Developed in 1951 by David Huffman while a student at MIT, Huffman Coding makes use of a special type of binary tree called a huffman coding trie. Every message or fil

The Lempel-Ziv family of algorithms were introduced by Abraham Lempel and Jacob Ziv in two papers over the course of 1977 & 1978. The algorithms detailed in those papers have come to be known as lz77 (lz1) and lz78(lz2), respectively. Since being i

In the early days of computing storage space was at a premium. It might hard to reconcile with now that having terrabytes of diskspace and gigabytes of ram in the average laptop that for a computer to have megabytes of storage available wouldn

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

Sometimes when perusing the literature you come across an interesting algorithm, that while of dubious practical applicability, is none the less of novel interest. This post is about just such an algorithm. I can't be certain, but if i were to hazard a