Vi presenterar en förbättrad wavelet träd konstruktion algoritm och diskutera dess tillämpningar till ett antal rank / välj problem för heltal nycklar och strängar. Med tanke på en sträng av längd n över ett alfabet av storlek σ ≤ n, bygger vår metod wavelet träd i O(n log σ / ε log n) tid, förbättra på state-of-the-art algoritm med en faktor av ε log n. Som en följd av detta, med tanke på en rad av n heltal kan vi konstruera i O (n ε log n) tid en datastruktur som består av O(n) maskin ord och kan svara på rang / välj frågor för undergrupper i matrisen i O(log n / log log n) tid. Detta är en log log n-faktor förbättring av frågetiden jämfört med Chan och P-traşcu (SODA 2010) och en log n-faktor förbättring av byggtiden jämfört med Brodal et al. (Skådespelerskan. Räkna. Det är Sci. Europaparlamentets och rådets förordning (EU, Euratom) nr 966/2012 av den 25 oktober 2012 om finansiella regler för unionens allmänna budget och om upphävande av rådets förordning (EG, Euratom) nr 1605/2002 (EUT L 298, 26.10.2012, s. 1). Därefter byter vi till strängologiska sammanhang och föreslår en ny uppfattning om wavelet suffix träd. För en sträng w av längd n, denna datastruktur upptar O(n) ord, tar O (n ε log n) tid att konstruera, och samtidigt fångar den kombinatoriska strukturen av understrängar av w samtidigt som den möjliggör effektiv top-down traversal och binär sökning. I synnerhet, med en wavelet suffix träd vi kan svara på i O (log  på x) tid följande två naturliga analoger av rank/select frågor för suffix av substrängar: 1) För delsträngar x och y av w (ges av deras endpoints) räkna antalet suffix av x som är lexikografiskt mindre än y; 2) För en substräng x av w (ges av dess endpoints) och ett heltal k, hitta k-th lexikografiskt minsta suffix x. Vi visar vidare att wavelet suffix träd gör det möjligt att beräkna en run-long-kodad BurrowsWheeler transform av en substring x w (igen, ges av dess endpoints) i O(s log  med) tid, där s betecknar längden på den resulterande run-long kodning. Detta besvarar en fråga av Cormode och Muthukrishnan (SODA 2005), som ansåg att ett liknande problem för LempelZiv kompression. Alla våra algoritmer, förutom byggandet av wavelet suffix träd, som dessutom kräver O(n) tid i förväntan, är deterministiska och fungerar i ordet RAM-modell.
Multiary wavelet träd är också kapabla att svara på rad föregångare frågor, och nyligen Munro, Nekrich, och Vitter [35] (och samtidigt Babenko, Gawrychowski, Kociumaka, och Starikovskaya REF ) visade hur man konstruerar wavelet träd i O(n log σ / ε log n) tid med hjälp av O(n log n) bitar av arbetsutrymme, och stödjande frågor i O(log σ / log log n) tid.
Wavelet Trees Meet Suffix Trees
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Mathematics', 'Computer Science']}