Efficient Adaptive Data Compression Using Fano Binary Search Trees

  • Luis Rueda
  • B. John Oommen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3733)


In this paper, we show an effective way of using adaptive self-organizing data structures in enhancing compression schemes. We introduce a new data structure, the Partitioning Binary Search Tree (PBST), which is based on the well-known Binary Search Tree (BST), and when used in conjunction with Fano encoding, the PBST leads to the so-called Fano Binary Search Tree (FBST). The PBST and FBST can be maintained adaptively and in a self-organizing manner by using new tree-based operators, namely the Shift-To-Left (STL) and the Shift-To-Right (STR) operators. The encoding and decoding procedures that also update the FBST have been implemented, and show that the adaptive Fano coding using FBSTs, the Huffman, and the greedy adaptive Fano coding achieve similar compression ratios.


Compression Ratio Internal Node Binary Search Tree Arithmetic Code Left Child 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ahlswede, R., Han, T.S., Kobayashi, K.: Universal Coding of Integers and Unbounded Search Trees. IEEE Trans. on Information Theory 43(2), 669–682 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Albers, S., Mitzenmacher, M.: Average case analyses of list update algorithms, with applications to data compression. Algorithmica 21, 312–329 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Albers, S., Westbrook, J.: Self-organizing data structures. In: Fiat, A., Woeginger, G. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1442, pp. 13–51. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  4. 4.
    Allen, B., Munro, I.: Self-organizining Binary Search Trees. J. Assoc. Comput. Mach. 25, 526–535 (1978)zbMATHMathSciNetGoogle Scholar
  5. 5.
    Aragon, C., Seidel, R.: Randomized Search Trees. In: Proceedings 30th Annual IEEE Symposium on Foundations of Computer Science, pp. 540–545 (1989)Google Scholar
  6. 6.
    Bent, S., Sleator, D., Tarjan, R.: Biased Search Trees. SIAM Journal of Computing 14, 545–568 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Bitner, J.: Heuristics that Dynamically Organize Data Structures. SIAM Journal of Computing 8, 82–110 (1979)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Cheetham, R., Oommen, B.J., Ng, D.: Adaptive Structuring of Binary Search Trees Using Conditional Rotations. IEEE Transactions on Knowledge and Data Engineering 5(4), 695–704 (1993)CrossRefGoogle Scholar
  9. 9.
    Deorowicz, S.: Second step algorithms in the burrows-wheeler compression algorithm. Software - Practice and Experience 32(2), 99–111 (2002)zbMATHCrossRefGoogle Scholar
  10. 10.
    Hankerson, D., Harris, G., Johnson Jr, P.: Introduction to Information Theory and Data Compression. CRC Press, Boca Raton (1998)zbMATHGoogle Scholar
  11. 11.
    Iacono, J.: Alternatives to splay trees with o(log n) worst-case access times. In: Proceedings of the 12th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2001), pp. 516–522 (2001)Google Scholar
  12. 12.
    Lai, T., Wood, D.: Adaptive Heuristics for Binary Search Trees and Constant Linkage Cost. SIAM Journal of Computing 27(6), 1564–1591 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Mehlhorn, K.: Dynamic Binary Search. SIAM Journal of Computing 8, 175–198 (1979)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Oommen, B.J., Zgierski, J.: A Learning Automaton Solution to Breaking Substitution Ciphers. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI 15, 185–192 (1993)CrossRefGoogle Scholar
  15. 15.
    Rueda, L.: Advances in Data Compression and Pattern Recognition. PhD thesis, School of Computer Science, Carleton University, Ottawa, Canada (April 2002), Electronically available at,
  16. 16.
    Sherk, M.: Self-adjusting k-ary Search Trees and Self-adjusting Balanced Search Trees. Technical Report 234/90, University of Toronto, Toronto, Canada (February 1990)Google Scholar
  17. 17.
    Vitter, J.: Design and Analysis of Dynamic Huffman Codes. Journal of the ACM 34(4), 825–845 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Williams, H., Zobel, J., Heinz, S.: Self-adjusting trees in practice for large text collections. Software - Practice and Experience 31(10), 925–939 (2001)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Luis Rueda
    • 1
  • B. John Oommen
    • 2
  1. 1.School of Computer ScienceUniversity of WindsorWindsorCanada
  2. 2.School of Computer ScienceCarleton UniversityOttawaCanada

Personalised recommendations