Abstract
The Sort Transform (ST) can significantly speed up the block sorting phase of the Burrows-Wheeler transform (BWT) by sorting only limited order contexts. However, the best result obtained so far for the inverse ST has a time complexity O(Nlogk) and a space complexity O(N), where N and k are the text size and the context order of the transform, respectively. In this paper, we present a novel algorithm that can compute the inverse ST in an O(N) time/space complexity, a linear result independent of k. The main idea behind the design of the linear algorithm is a set of cycle properties of k-order contexts we explored for this work. These newly discovered cycle properties allow us to quickly compute the longest common prefix (LCP) between any pair of adjacent k-order contexts that may belong to two different cycles, leading to the proposed linear inverse ST algorithm.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burrows, M., Wheeler, D.J.: A block-sorting lossless data compression algorithm. Technical Report SRC Research Report 124, Digital Systems Research Center, California, USA (May 1994)
Schindler, M.: The sort transformation, http://www.compressconsult.com
Schindler, M.: A fast block-sorting algorithm for lossless data compression. In: Proceedings of DCC 1997, p. 469 (1997)
Schindler, M.: Method and apparatus for sorting data blocks. Patent in United States (6199064) (March 2001)
Nong, G., Zhang, S.: Unifying the Burrows-Wheeler and the Schindler transforms. In: Proceedings of DCC 2006, March 2006, p. 464 (2006)
Nong, G., Zhang, S.: An efficient algorithm for the inverse ST problem. In: Proceedings of DCC 2007, p. 397 (2007)
Nong, G., Zhang, S.: Efficient algorithms for the inverse sort transform. IEEE Transactions on Computers 56(11), 1564–1574 (2007)
Yokoo, H.: Notes on block-sorting data compression. Electronics and Communications in Japan (Part III: Fundamental Electronic Science) 82(6), 18–25 (1999)
Bird, R.S., Mu, S.C.: Inverting the burrows-wheeler transform. Journal of Functional Programming 14(6), 603–612 (2004)
Manzini, G.: The Burrows-Wheeler transform: theory and practice. In: Kutyłowski, M., Wierzbicki, T., Pacholski, L. (eds.) MFCS 1999. LNCS, vol. 1672, pp. 34–47. Springer, Heidelberg (1999)
Balkenhol, B., Kurtz, S.: Universal data compression based on the Burrows-Wheeler transformation: theory and practice. IEEE Transactions on Computers 49(10), 1043–1053 (2000)
Kasai, T., Lee, G., Arimura, H., et al.: Linear-time longest-common-prefix computation in suffix arrays and its applications. In: Amir, A., Landau, G.M. (eds.) CPM 2001. LNCS, vol. 2089, pp. 181–192. Springer, Heidelberg (2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nong, G., Zhang, S., Chan, W.H. (2008). Computing Inverse ST in Linear Complexity. In: Ferragina, P., Landau, G.M. (eds) Combinatorial Pattern Matching. CPM 2008. Lecture Notes in Computer Science, vol 5029. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69068-9_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-69068-9_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69066-5
Online ISBN: 978-3-540-69068-9
eBook Packages: Computer ScienceComputer Science (R0)