Kinetic Medians and kd-Trees

  • Pankaj K. Agarwal
  • Jie Gao
  • Leonidas J. Guibas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2461)


We propose algorithms for maintaining two variants of kd-trees of a set of moving points in the plane. A pseudo kd-tree allows the number of points stored in the two children to differ by a constant factor. An overlapping kd-tree allows the bounding boxes of two children to overlap. We show that both of them support range search operations in O(n 1/2+∈) time, where ∈ only depends on the approximation precision. As the points move, we use event-based kinetic data structures to update the tree when necessary. Both trees undergo only a quadratic number of events, which is optimal, and the update cost for each event is only polylogarithmic. To maintain the pseudo kd-tree, we develop algorithms for computing an approximate median level of a line arrangement, which itself is of great interest. We show that the computation of the approximate median level of a set of lines or line segments can be done in an online fashion smoothly, i.e., there are no expensive updates for any events. For practical consideration, we study the case in which there are speed-limit restrictions or smooth trajectory requirements. The maintenance of the pseudo kd-tree, as a consequence of the approximate median algorithm, can also adapt to those restrictions


Line Segment Range Query Input Point Polygonal Line Plan Change 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    P. K. Agarwal, L. Arge, and J. Erickson. Indexing moving points. In Proc. Annu. ACM Sympos. Principles Database Syst., 2000. 175–186.Google Scholar
  2. [2]
    P. K. Agarwal, L. Arge, and J. Vahrenhold. Time responsive external data structures for moving points. In Workshop on Algorithms and Data Structures, pages 50–61, 2001.Google Scholar
  3. [3]
    P. K. Agarwal and J. Erickson. Geometric range searching and its relatives. In B. Chazelle, J. E. Goodman, and R. Pollack, editors, Advances in Discrete and Computational Geometry, volume 223 of Contemporary Mathematics, pages 1–56. American Mathematical Society, Providence, RI, 1999.Google Scholar
  4. [4]
    P. K. Agarwal and M. Sharir. Arrangements and their applications. In J.-R. Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages 49–119. Elsevier Science Publishers B.V. North-Holland, Amsterdam, 2000.CrossRefGoogle Scholar
  5. [5]
    J. Basch, L. Guibas, and J. Hershberger. Data structures for mobile data. J. Alg., 31(1):1–28, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  6. [6]
    J. Basch, L. J. Guibas, and G. D. Ramkumar. Reporting red-blue intersections between two sets of connected line segments. InProc. 4th Annu. European Sympos. Algorithms, volume 1136 of Lecture Notes Comput. Sci., pages 302–319. Springer-Verlag, 1996.Google Scholar
  7. [7]
    J. L. Bentley. Multidimensional binary search trees used for associative searching. Communications of the ACM, 18(9):509–517, 1975.zbMATHCrossRefMathSciNetGoogle Scholar
  8. [8]
    R. Cole, J. Salowe, W. Steiger, and E. Szemerédi. An optimal-time algorithm for slope selection. SIAM J. Comput., 18(4):792–810, 1989.zbMATHCrossRefMathSciNetGoogle Scholar
  9. [9]
    W. Cunto, G. Lau, and P. Flajolet. Analysis of kdt-trees: kd-trees improved by local reorganisations. Workshop on Algorithms and Data Structures (WADS’89), 382:24–38, 1989.Google Scholar
  10. [10]
    M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. Computational Geometry: Algorithms and Applications. Springer-Verlag, Berlin, 1997.zbMATHGoogle Scholar
  11. [11]
    T. K. Dey. Improved bounds on planar k-sets and k-levels. In IEEE Symposium on Foundations of Computer Science, pages 165–161, 1997.Google Scholar
  12. [12]
    H. Edelsbrunner and E. Welzl. Constructing belts in two-dimensional arrangements with applications. SIAM J. Comput., 15:271–284, 1986.zbMATHCrossRefMathSciNetGoogle Scholar
  13. [13]
    L. J. Guibas. Kinetic data structures a state of the art report. In P. K. Agarwal, L. E. Kavraki, and M. Mason, editors, Proc. Workshop Algorithmic Found. Robot., pages 191–209. A. K. Peters, Wellesley, MA, 1998.Google Scholar
  14. [14]
    R. H. Güting, M. H. Böhlen, M. Erwig, C. S. Jensen, N. A. Lorentzos, M. Schneider, and M. Vazirgiannis. A foundation for representing and querying moving objects. ACM Trans. Database Systems, 25(1):1–42, 2000.CrossRefGoogle Scholar
  15. [15]
    G. Kollios, D. Gunopulos, and V. J. Tsotras. On indexing mobile objects. In Proc. Annu. ACM Sympos. Principles Database Syst., pages 261–272, 1999.Google Scholar
  16. [16]
    J. Matoušek. Construction of ∈-nets. Discrete Comput. Geom., 5:427–448, 1990.CrossRefzbMATHMathSciNetGoogle Scholar
  17. [17]
    J. Nievergelt and P. Widmayer. Spatial data structures: Concepts and design choices. In J.-R. Sack and J. Urrutia, editors, Handbook of Computational Geometry, pages 725–764. Elsevier Science Publishers B.V. North-Holland, Amsterdam, 2000.CrossRefGoogle Scholar
  18. [18]
    M. H. Overmars. The Design of Dynamic Data Structures, volume 156 of Lecture Notes Comput. Sci. Springer-Verlag, Heidelberg, West Germany, 1983.zbMATHGoogle Scholar
  19. [19]
    D. Pfoser, C. J. Jensen, and Y. Theodoridis. Novel approaches to the indexing of moving object trajectories. In Proc. 26th Intl. Conf. Very Large Databases, pages 395–406, 2000.Google Scholar
  20. [20]
    C. M. Procopiuc, P. K. Agarwal, and S. Har-Peled. Star-tree: An efficent self-adjusting index for moving points. In Proc. 4th Workshop on Algorithm Engineering and Experiments, 2002.Google Scholar
  21. [21]
    A. P. Sistla and O. Wolfson. Temporal conditions and integrity constraints in active database systems. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, pages 269–280, 1995.Google Scholar
  22. [22]
    A. P. Sistla, O. Wolfson, S. Chamberlain, and S. Dao. Modeling and querying moving objects. In Proc. Intl Conf. Data Engineering, pages 422–432, 1997.Google Scholar
  23. [23]
    G. Tóth. Point sets with many k-sets. Discrete & Computational Geometry, 26(2):187–194, 2001.zbMATHMathSciNetGoogle Scholar
  24. [24]
    S. Šaltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez. Indexing the positions of continuously moving objects. In Proc. ACM SIGMOD International Conference on Management of Data, pages 331–342, 2000.Google Scholar
  25. [25]
    O. Wolfson, A. P. Sistla, S. Chamberlain, and Y. Yesha. Updating and querying databases that track mobile units. Distributed and Parallel Databases, pages 257–287, 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Pankaj K. Agarwal
    • 1
  • Jie Gao
    • 2
  • Leonidas J. Guibas
    • 2
  1. 1.Department of Computer ScienceDuke UniversityDurhamUSA
  2. 2.Department of Computer ScienceStanford UniversityStanfordUSA

Personalised recommendations