Tree Path Majority Data Structures
arXiv:1806.01804
Abstract
We present the first solution to $Ï$-majorities on tree paths. Given a tree of $n$ nodes, each with a label from $[1..Ï]$, and a fixed threshold $0<Ï<1$, such a query gives two nodes $u$ and $v$ and asks for all the labels that appear more than $Ï\cdot |P_{uv}|$ times in the path $P_{uv}$ from $u$ to $v$, where $|P_{uv}|$ denotes the number of nodes in $P_{uv}$. Note that the answer to any query is of size up to $1/Ï$. On a $w$-bit RAM, we obtain a linear-space data structure with $O((1/Ï)\log^* n \log\log_w Ï)$ query time. For any $κ> 1$, we can also build a structure that uses $O(n\log^{[κ]} n)$ space, where $\log^{[κ]} n$ denotes the function that applies logarithm $κ$ times to $n$, and answers queries in time $O((1/Ï)\log\log_w Ï)$. The construction time of both structures is $O(n\log n)$. We also describe two succinct-space solutions with the same query time of the linear-space structure. One uses $2nH + 4n + o(n)(H+1)$ bits, where $H \le \lgÏ$ is the entropy of the label distribution, and can be built in $O(n\log n)$ time. The other uses $nH + O(n) + o(nH)$ bits and is built in $O(n\log n)$ time w.h.p.