
We present an efficient algorithm for scanning Huffman compressed texts. The algorithm parses the compressed text in \(O(n \frac{\log_2\sigma}{b})\) time, where n is the size of the compressed text in bytes, σ is the size of the alphabet, and b is a user specified parameter. The method uses a variable size super-alphabet, with an average size of \(O(\frac{b}{H \log_2 \sigma})\) symbols, where H is the entropy of the text. Each super-symbol is processed in O(1) time. The algorithm uses O(2 b ) space, and O(b2 b ) preprocessing time. The method can be easily augmented by auxiliary functions, which can e.g. decompress the text, or perform pattern matching in the compressed text. We give three example functions: decoding the text in average time \(O(n \frac{\log_2 \sigma}{Hw})\), where w is the number of bits in a machine word; an Aho-Corasick dictionary matching algorithm, which works in time \(O(n \frac{\log_2 \sigma}{b}+t)\), where t is the number of occurrences reported; and a shift-or string matching algorithm that works in time \(O(n \frac{\log_2 \sigma}{b}\left\lceil (m+s)/w \right\rceil +t)\), where m is the length of the pattern and s depends on the encoding. The Aho-Corasick algorithm uses an automaton with variable length moves, i.e. it processes variable number of states at each step. The shift-or algorithm makes variable length shifts, effectively also processing variable number of states at each step. The number of states processed in O(1) time is \(O(\frac{b}{H \log_2 \sigma})\). The method can be applied to several other algorithms as well. We conclude with some experimental results.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 3 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
