TY - GEN
T1 - Efficient and compact representations of some non-canonical prefix-free codes
AU - Fariña, Antonio
AU - Gagie, Travis
AU - Manzini, Giovanni
AU - Navarro, Gonzalo
AU - Ordóñez, Alberto
N1 - Publisher Copyright:
© Springer International Publishing AG 2016.
PY - 2016
Y1 - 2016
N2 - For many kinds of prefix-free codes there are efficient and compact alternatives to the traditional tree-based representation. Since these put the codes into canonical form, however, they can only be used when we can choose the order in which codewords are assigned to characters. In this paper we first show how, given a probability distribution over an alphabet of σ characters, we can store a nearly optimal alphabetic prefix-free code in o(σ) bits such that we can encode and decode any character in constant time. We then consider a kind of code introduced recently to reduce the space usage of wavelet matrices (Claude, Navarro, and Ordóñez, Information Systems, 2015). They showed how to build an optimal prefix-free code such that the codewords’ lengths are non-decreasing when they are arranged such that their reverses are in lexicographic order. We show how to store such a code in O(σ log L + 2εL) bits, where L is the maximum codeword length and ε is any positive constant, such that we can encode and decode any character in constant time under reasonable assumptions. Otherwise, we can always encode and decode a codeword of ℓ bits in time O(ℓ) using O(σ log L) bits of space.
AB - For many kinds of prefix-free codes there are efficient and compact alternatives to the traditional tree-based representation. Since these put the codes into canonical form, however, they can only be used when we can choose the order in which codewords are assigned to characters. In this paper we first show how, given a probability distribution over an alphabet of σ characters, we can store a nearly optimal alphabetic prefix-free code in o(σ) bits such that we can encode and decode any character in constant time. We then consider a kind of code introduced recently to reduce the space usage of wavelet matrices (Claude, Navarro, and Ordóñez, Information Systems, 2015). They showed how to build an optimal prefix-free code such that the codewords’ lengths are non-decreasing when they are arranged such that their reverses are in lexicographic order. We show how to store such a code in O(σ log L + 2εL) bits, where L is the maximum codeword length and ε is any positive constant, such that we can encode and decode any character in constant time under reasonable assumptions. Otherwise, we can always encode and decode a codeword of ℓ bits in time O(ℓ) using O(σ log L) bits of space.
UR - https://www.scopus.com/pages/publications/84989873936
U2 - 10.1007/978-3-319-46049-9_5
DO - 10.1007/978-3-319-46049-9_5
M3 - Conference contribution
AN - SCOPUS:84989873936
SN - 9783319460482
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 50
EP - 60
BT - String Processing and Information Retrieval - 23rd International Symposium, SPIRE 2016, Proceedings
A2 - Inenaga, Shunsuke
A2 - Sadakane, Kunihiko
A2 - Sakai, Tetsuya
PB - Springer Verlag
T2 - 23rd International Symposium on String Processing and Information Retrieval, SPIRE 2016
Y2 - 18 October 2016 through 20 October 2016
ER -