{'fraction_non_alphanumeric': 0.037721324095458045, 'fraction_numerical': 0.003079291762894534, 'mean_word_length': 4.555555555555555, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
On Higher Dimensional Window Query: Revisited using BITS-Tree

We present a dynamic index structure using Balanced Inorder Threaded Segment Tree to store orthogonal rectangles in R2 and an efficient method of finding rectangle intersections. Although PR-Trees is known to be the best known data structure in the I/O model for this problem and performs window query in O((N/B)1-1/d + T/B) I/Os, where N is the number of d-dimensional rectangles, B is the disk block size, and T is the output size, the dynamic insertion of rectangles requires reconstruction of the tree. In the pointer machine model, since the Balanced Inorder Threaded Segment Tree (BITS-Tree) permits dynamic updates of one dimensional segments in logarithmic time, we store the horizontal and vertical segment information of rectangles into two separate BITS-Trees and solve the rectangle intersection problem in O(log n + k) time where k is the maximum number of rectangles reported, with support for dynamic updates in O(log n) time. Also, this is extended to d (d > 2) dimensional objects with a query time of O(d(log n + m)) where k is the maximum number of nodes of rectangles and update time of O(d log n) that shows an improvement over query time of range trees of O(log n + m) where m is the number of rectangles reported.