On Quadtrees for Point Sets Martin Fürer Penn State Joint work with Shiva Kasiviswanathan Martin Fürer Penn State Joint work with Shiva Kasiviswanathan
Dagstuhl 2006On Quad Trees for Point Sets2 Quadtree NW NE SWSE o
Dagstuhl 2006On Quad Trees for Point Sets3 Picture vs. Point Set Picture: Stop when monochromatic Leaves labeled by color 0 or 4 children Point Set: Stop when 1 point Leaves labeled by coordinates of point 0 to 4 children Picture: Stop when monochromatic Leaves labeled by color 0 or 4 children Point Set: Stop when 1 point Leaves labeled by coordinates of point 0 to 4 children
Dagstuhl 2006On Quad Trees for Point Sets4 Compressed Quadtrees Succinct representation for clustered point Sets Replace each maximal path with degree 1 internal nodes by a single edge n points --> 2n-1 node tree Internal nodes labeled with their tile (size and position) Succinct representation for clustered point Sets Replace each maximal path with degree 1 internal nodes by a single edge n points --> 2n-1 node tree Internal nodes labeled with their tile (size and position)
Dagstuhl 2006On Quad Trees for Point Sets5 Spanners 1+ - spanner: Subgraph of a weighted graph with distances increasing by at most a factor of 1+ . 1+ - spanner: Subgraph of a weighted graph with distances increasing by at most a factor of 1+ .
Dagstuhl 2006On Quad Trees for Point Sets6 Our Application Find Spanners of (Unit) Disk Graphs O(n/ε) edges vertex separators (hereditary) Fast approximations of shortest paths Find Spanners of (Unit) Disk Graphs O(n/ε) edges vertex separators (hereditary) Fast approximations of shortest paths
Dagstuhl 2006On Quad Trees for Point Sets7 Construction of Quadtrees Time: Sorting-time + linear Operations: + - < and for given x, y with x<y, find level(x,y) = min k such that x2 k < y2 k , also output x2 k Time: Sorting-time + linear Operations: + - < and for given x, y with x<y, find level(x,y) = min k such that x2 k < y2 k , also output x2 k
Dagstuhl 2006On Quad Trees for Point Sets8 Simulated Operation Input (x 1,x 2 ), (y 1,y 2 ) Decide whether x 1 |x 2 < y 1 |y 2 where for u = ∑ i u i 2 i and v = ∑ i v i 2 i u|v = ∑ i (2u i +v i )4 i is the shuffle Input (x 1,x 2 ), (y 1,y 2 ) Decide whether x 1 |x 2 < y 1 |y 2 where for u = ∑ i u i 2 i and v = ∑ i v i 2 i u|v = ∑ i (2u i +v i )4 i is the shuffle
Dagstuhl 2006On Quad Trees for Point Sets9 Algorithm Sort points x by shuffle(x), (the shuffle of their coordinates) For adjacent points x,y in the sorted order, compute level(shuffle(x), shuffle(y)) Result: s 1, l 1, s 2, l 2, … s n-1, l n, s n Each s i is (the shuffle of) the root node of a (trivial) quadtree. Sort points x by shuffle(x), (the shuffle of their coordinates) For adjacent points x,y in the sorted order, compute level(shuffle(x), shuffle(y)) Result: s 1, l 1, s 2, l 2, … s n-1, l n, s n Each s i is (the shuffle of) the root node of a (trivial) quadtree.
Dagstuhl 2006On Quad Trees for Point Sets10 Continue Algorithm Recall: s 1, l 1, s 2, l 2, … s n-1, l n, s n Push left part on a stack until l i >l i+1 Combine the trees with roots s i and s i+1 into one tree Recall: s 1, l 1, s 2, l 2, … s n-1, l n, s n Push left part on a stack until l i >l i+1 Combine the trees with roots s i and s i+1 into one tree
Dagstuhl 2006On Quad Trees for Point Sets11 Open? Is Bichromatic Closest Pair easier, when the two sets of points are well separated? Dimensions 2 or d. ° ° °°° ° Is Bichromatic Closest Pair easier, when the two sets of points are well separated? Dimensions 2 or d. ° ° °°° °