4 research outputs found

    Encoding Nearest Larger Values

    Full text link
    In nearest larger value (NLV) problems, we are given an array A[1..n] of numbers, and need to preprocess A to answer queries of the following form: given any index i āˆˆ [1, n], return a ā€œnearestā€ index j such that A[j] > A[i]. We consider the variant where the values in A are distinct, and we wish to return an index j such that A[j] > A[i] and |j āˆ’ i| is minimized, the nondirectional NLV (NNLV) problem. We consider NNLV in the encoding model, where the array A is delete after preprocessing, and note that NNLV encoding problem has an unexpectedly rich structure: the effective entropy (optimal space usage) of the problem depends crucially on details in the definition of the problem. Using a new path-compressed representation of binary trees, that may have other applications, we encode NNLV in 1.9n + o(n) bits, and answer queries in O(1) time

    Encoding nearest larger values

    No full text
    In nearest larger value (NLV) problems, we are given an array of distinct numbers, and need to preprocess A to answer queries of the following form: given any index ,return a ā€œnearestā€ index j such that .We consider the variant where the values in A are distinct, and we wish to return an index j such that and is minimized, the nondirectional NLV (NNLV) problem. We consider NNLV in the encoding model, where the array A is deleted after preprocessing.The NNLV encoding problem turns out to have an unexpectedly rich structure: the effective entropy (optimal space usage) of the problem depends crucially on details in the definition of the problem. Of particular interest is the tiebreaking rule: if there exist two nearest indices such that and and ,then which index should be returned? For the tiebreaking rule where the rightmost (i.e. largest) index is returned, we encode a path-compressed representation of the Cartesian tree that can answer all NNLV queries in bits, and can answer queries in time. An alternative approach, based on forbidden patterns, achieves a very similar space bound for two tiebreaking rules (including the one where ties are broken to the right), and (for a more flexible tiebreaking rule) achieves bits. Finally, we develop a fast method of counting distinguishable configurations for NNLV queries. Using this method, we prove a lower bound of bits of space for NNLV encodings for the tiebreaking rule where the rightmost index is returned.info:eu-repo/semantics/publishe

    Encoding Nearest Larger Values

    Full text link
    In nearest larger value (NLV) problems, we are given an array A[1..n] of distinct numbers, and need to preprocess A to answer queries of the following form: given any index iāˆˆ[1,n], return a ā€œnearestā€ index j such that A[j]>A[i]. We consider the variant where the values in A are distinct, and we wish to return an index j such that A[j]>A[i] and|jāˆ’i| is minimized, the nondirectional NLV (NNLV) problem. We consider NNLV in the encoding model, where the array A is deleted after preprocessing. The NNLV encoding problem turns out to have an unexpectedly rich structure: the effective entropy (optimal space usage) of the problem depends crucially on details in the definition of the problem. Of particular interest is the tiebreaking rule: if there exist two nearest indices j1,j2 such that A[j1]>A[i] and A[j2]>A[i] and |j1āˆ’i|=|j2āˆ’i|, then which index should be returned? For the tiebreaking rule where the rightmost (i.e., largest) index is returned, we encode a path-compressed representation of the Cartesian tree that can answer all NNLV queries in 1.89997n+o(n) bits, and can answer queries inO(1) time. An alternative approach, based on forbidden patterns , achieves a very similar space bound for two tiebreaking rules (including the one where ties are broken to the right), and (for a more flexible tiebreaking rule) achieves 1.81211n+o(n) bits. Finally, we develop a fast method of counting distinguishable configurations for NNLV queries. Using this method, we prove a lower bound of 1.62309nāˆ’Ī˜(1) bits of space for NNLV encodings for the tiebreaking rule where the rightmost index is returned
    corecore