EDBT 2026 Demo / reviewers in the wild / expert
Ge Nong
dblp:09/3285
· DBLP profile ↗
12ranked-venue papers in the field
7as first author
4since 2021 · last 2024
—ORCID · none
Domains — venue-derived; a paper can count in several
Information Retrieval & Web Search · 6 (3 first)Big Data, Cloud & Distributed Data Systems · 5 (4 first)Database Systems & Data Management · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Efficient Sorting Suffixes of Big AlphabetsabstractAn algorithm SACA-m is proposed to sort all suffixes of a read-only input string of n characters with alphabet size nO(1)in O(n) time and O(n1/2) workspace. It can be applied to sort suffixes of a general alphabet in O(n log n) time and O(n1/2) workspace. This algorithm can be revised to a succinct variant SACA-1 to reuse the space of suffix array for O(1) workspace while keeping O(n) time. The time and space performance of both algorithms are evaluated by experiments on realistic and artificial datasets. These new results give the best time and space complexities for sorting suffixes of big alphabets. Ge Nong, Sen Zhang 0007 |
DCC | 1 |
| 2024 | Algorithm design and performance evaluation of sparse induced suffix sorting
Ge Nong |
Inf. Process. Manag. | 2 |
| 2022 | Full-text search engine with suffix index for massive heterogeneous data
Yidong Huan, Xuedong Hu, Ge Nong |
Inf. Syst. | 5 |
| 2021 | Succinct suffix sorting in external memory
Ling Bo Han, Yi Wu 0011, Ge Nong |
Inf. Process. Manag. | 3 |
| 2015 | Induced Sorting Suffixes in External Memory with Better Design and Less Space
Ge Nong, Wai Hong Chan, Yi Wu 0011 |
SPIRE | 2 |
| 2015 | Induced Sorting Suffixes in External MemoryabstractWe present in this article an external memory algorithm, called disk SA-IS (DSA-IS), to exactly emulate the induced sorting algorithm SA-IS previously proposed for sorting suffixes in RAM. DSA-IS is a new disk-friendly method for sequentially retrieving the preceding character of a sorted suffix to induce the order of the preceding suffix. For a size n string of a constant or integer alphabet, given the RAM capacity Ω (( nW ) 0.5 ), where W is the size of each I/O buffer that is large enough to amortize the overhead of each access to disk, both the CPU time and peak disk use of DSA-IS are O ( n ). Our experimental study shows that on average, DSA-IS achieves the best time and space results of all of the existing external memory algorithms based on the induced sorting principle. Ge Nong, Wai Hong Chan, Sheng Qing Hu, Yi Wu 0011 |
ACM Trans. Inf. Syst. | 1 |
| 2014 | Suffix Array Construction in External Memory Using D-Critical SubstringsabstractWe present a new suffix array construction algorithm that aims to build, in external memory, the suffix array for an input string of length n measured in the magnitude of tens of Giga characters over a constant or integer alphabet. The core of this algorithm is adapted from the framework of the original internal memory SA-DS algorithm that samples fixed-size d-critical substrings. This new external-memory algorithm, called EM-SA-DS, uses novel cache data structures to construct a suffix array in a sequential scanning manner with good data spatial locality: data is read from or written to disk sequentially. On the assumed external-memory model with RAM capacity Ω (( nB ) 0.5 ), disk capacity O ( n ), and size of each I/O block B , all measured in log n -bit words, the I/O complexity of EM-SA-DS is O ( n / B ). This work provides a general cache-based solution that could be further exploited to develop external-memory solutions for other suffix-array-related problems, for example, computing the longest-common-prefix array, using a modern personal computer with a typical memory configuration of 4GB RAM and a single disk. Ge Nong, Wai Hong Chan, Sen Zhang 0007, Xiao Feng Guan |
ACM Trans. Inf. Syst. | 1 |
| 2013 | Practical linear-time O(1)-workspace suffix sorting for constant alphabetsabstractThis article presents an O ( n )-time algorithm called SACA-K for sorting the suffixes of an input string T [0, n -1] over an alphabet A [0, K -1]. The problem of sorting the suffixes of T is also known as constructing the suffix array (SA) for T . The theoretical memory usage of SACA-K is n log K + n log n + K log n bits. Moreover, we also have a practical implementation for SACA-K that uses n bytes + ( n + 256) words and is suitable for strings over any alphabet up to full ASCII, where a word is log n bits. In our experiment, SACA-K outperforms SA-IS that was previously the most time- and space-efficient linear-time SA construction algorithm (SACA). SACA-K is around 33% faster and uses a smaller deterministic workspace of K words, where the workspace is the space needed beyond the input string and the output SA. Given K = O (1), SACA-K runs in linear time and O (1) workspace. To the best of our knowledge, such a result is the first reported in the literature with a practical source code publicly available. Ge Nong |
ACM Trans. Inf. Syst. | 1 |
| 2009 | Linear Suffix Array Construction by Almost Pure Induced-SortingabstractWe present a linear time and space suffix array (SA) construction algorithm called the SA-IS algorithm.The SA-IS algorithm is novel because of the LMS-substrings used for the problem reduction and the pure induced-sorting (specially coined for this algorithm)used to propagate the order of suffixes as well as that of LMS-substrings, which makes the algorithm almost purely relying on induced sorting at both its crucial steps.The pure induced-sorting renders the algorithm an elegant design and in turn a surprisingly compact implementation which consists of less than 100 lines of C code.The experimental results demonstrate that this newly proposed algorithm yields noticeably better time and space efficiencies than all the currently published linear time algorithms for SA construction. Ge Nong, Sen Zhang 0007, Wai Hong Chan |
DCC | 1 |
| 2008 | Fast and Space Efficient Linear Suffix Array ConstructionabstractLet S be an n-character string terminated with an unique smallest sentinel, its suffix array SA(S) is an array of pointers for all the suffixes in S sorted in the lexicographically ascending order. Specially, the Burrows-Wheeler transform for building efficient compression solutions can be quickly computed by fast suffix sorting based on suffix array construction algorithms (SACAs). The existing well-known practical linear SACAs are those two contemporarily reported in 2003 by Karkkainen and Sanders (KS) (J. Karkkaiinen and P. Sanders, 2003) and Ko and Aluru (KA) (P. Ko and S. Aluru, 2003). Sen Zhang 0007, Ge Nong |
DCC | 2 |
| 2007 | An Efficient Algorithm For The Inverse ST ProblemabstractSummary form given only. The Schindler transform (ST) can speed up the block sorting phase of the Burrows-Wheeler transform (BWT) by limiting the context sorting to the first k (k E [0, N], where N is the length of the text) positions only. Under the ST's partial sorting scheme, if two rows share the exactly same k-order context, they may not be ordered alphabetically; instead, the relative order between them in the original matrix is preserved in the transformed matrix. A major tradeoff for the ST to achieve the speedup gain over the BWT is that the inverse ST appears to be more complicated than the inverse BWT. To deal with the existence of identical k-order contexts, Schindler suggested a hash based approach in which the text retrieval has to rely on the hash table based context lookup, which in turn has to rely on the complete retrieval of all the k-order contexts. An improved solution proposed by Yokoo uses no hash table; however, it still needs to restore all the k-order contexts, which clearly requires O(kN) for both the time and the space complexities. Recently, Nong and Zhang had proposed an auxiliary vector based framework, which is different from any possible k-order context retrieval based approaches formerly suggested by others, but similar to that used for the inverse BWT. This framework relies on two size-N vectors Tkand Ck(details are omitted due to space limit) to correctly retrieve the true immediate preceding character for a given character, which allows the original text to be recovered directly from the transformed text without statically restoring the complete fc-order contexts. As a consequence, this framework requires only O(N) space. However, its running time remains to be O(kN), for it has to visit each column of the fc-order context matrix to obtain Tkand Ck.Since Tkand Ckcan be deduced from the context switch vector D (the data structure indicating whether each pair of two neighbor rows in the context matrix are the same or not) in linear time, the more efficient the D can be calculated, the faster the ST can be inverted. If two k-order contexts are different, either their first halves are different already, or their second halves are different; furthermore, the second half of the k-order context matrix can be deduced from its first half due to the rotating scheme in ST. Based on this observation, we proposed a dynamic programming approach to quickly calculate D by doubling the steps to reach the fcth column in comparing the fc-order contexts. This "doubling technique" based algorithm requires only O(Nlogk) time to calculate D, thus resulting in an O(N log k) time complexity algorithm to invert ST. The space complexity of the algorithm remains to be O(N). This new algorithm can be used to build efficient compression solutions based on the ST. Ge Nong, Sen Zhang 0007 |
DCC | 1 |
| 2006 | Unifying The Burrows-Wheeler and The Schindler TransformsabstractSummary form only given. This paper demonstrates how to successfully fit both the Burrows-Wheeler text (BWT) transform method and the Schindler transform (ST) method into a unified algorithm framework and how this can be used to reveal a strong connection between the ST and the BWT as well as that between the inverse ST and the inverse BWT Ge Nong, Sen Zhang 0007 |
DCC | 1 |