## An Efficient Compression Scheme for Data Communication Which Uses a New Family of Self-Organizing Binary Search Trees

### BibTeX

@MISC{Rueda_anefficient,

author = {Luis Rueda and B. John Oommen},

title = {An Efficient Compression Scheme for Data Communication Which Uses a New Family of Self-Organizing Binary Search Trees},

year = {}

}

### OpenURL

### Abstract

In this paper, we demonstrate that we can effectively use results from the field of adaptive self-organizing data structures in enhancing compression schemes. Unlike adaptive lists, which have already been used in compression, to the best of our knowledge, adaptive self-organizing trees have not been used in this regard. To achieve this, we introduce a new data structure, the Partitioning Binary Search Tree (PBST) which, although based on the well-known Binary Search Tree (BST), also appropriately partitions the data elements into mutually exclusive sets. When used in conjunction with Fano encoding, the PBST leads to the so-called Fano Binary Search Tree (FBST), which, indeed, incorporates the required Fano coding (nearly-equal-probability) property into the BST. We demonstrate how both the PBST and FBST can be maintained adaptively and in a self-organizing manner. The updating procedure that converts a PBST into an FBST, and the corresponding new tree-based operators, namely the Shift-To-Left (STL) and the Shift-To-Right (STR) operators, are explicitly presented. The encoding and decoding procedures that also update the FBST have been implemented and rigorously tested. Our empirical results on files of the well-known benchmark, the Canterbury corpus, show that the adaptive Fano coding using FBSTs, the Huffman, and the greedy adaptive Fano coding achieve similar compression ratios. However, in terms of encoding/decoding speed, the new scheme is much faster than the latter two in the encoding phase, and they achieve approximately the same speed in the decoding phase. We believe that the same philosophy, namely that of using an adaptive self-organizing BST to maintain the frequencies, can also be utilized for other data encoding mechanisms, even as the Fenwick scheme has been used in arithmetic coding. 1