Computational geometry: an introduction
Computational geometry: an introduction
Two algorithms for maintaining order in a list
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
Functional approach to data structures and its use in multidimensional searching
SIAM Journal on Computing
The cell probe complexity of dynamic data structures
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
An optimal-time algorithm for slope selection
SIAM Journal on Computing
Lower bounds for orthogonal range searching: I. The reporting case
Journal of the ACM (JACM)
Lower bounds for orthogonal range searching: part II. The arithmetic model
Journal of the ACM (JACM)
Randomized optimal algorithm for slope selection
Information Processing Letters
Surpassing the information theoretic bound with fusion trees
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
The rectangle enclosure and point-dominance problems revisited
Proceedings of the eleventh annual symposium on Computational geometry
An Expander-Based Approach to Geometric Optimization
SIAM Journal on Computing
Geometric applications of a randomized optimization technique
Proceedings of the fourteenth annual symposium on Computational geometry
Journal of Computer and System Sciences
Journal of Algorithms - Special issue on SODA '95 papers
Undirected single-source shortest paths with positive integer weights in linear time
Journal of the ACM (JACM)
Rank aggregation methods for the Web
Proceedings of the 10th international conference on World Wide Web
Optimal static range reporting in one dimension
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Approximate counting of inversions in a data stream
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Integer Sorting in 0(n sqrt (log log n)) Expected Time and Linear Space
FOCS '02 Proceedings of the 43rd Symposium on Foundations of Computer Science
Optimal Algorithms for List Indexing and Subset Rank
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
Two Simplified Algorithms for Maintaining Order in a List
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
New data structures for orthogonal range searching
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
Deterministic sorting in O(nlog logn) time and linear space
Journal of Algorithms
On dynamic range reporting in one dimension
Proceedings of the thirty-seventh annual ACM symposium on Theory of computing
Logarithmic Lower Bounds in the Cell-Probe Model
SIAM Journal on Computing
Range mode and range median queries on lists and trees
Nordic Journal of Computing
Voronoi diagrams in n · 2o(√lg lg n) time
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
Lower bounds for 2-dimensional range counting
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
More algorithms for all-pairs shortest paths in weighted graphs
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
Orthogonal range searching in linear and almost-linear space
Computational Geometry: Theory and Applications
ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
Data Structures for Range Median Queries
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Orthogonal Range Reporting in Three and Higher Dimensions
FOCS '09 Proceedings of the 2009 50th Annual IEEE Symposium on Foundations of Computer Science
Space-Efficient and fast algorithms for multidimensional dominance reporting and counting
ISAAC'04 Proceedings of the 15th international conference on Algorithms and Computation
Orthogonal range searching on the RAM, revisited
Proceedings of the twenty-seventh annual symposium on Computational geometry
Range selection and median: tight cell probe lower bounds and adaptive data structures
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
Persistent predecessor search and orthogonal point location on the word RAM
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
Path queries in weighted trees
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
Rectangle-efficient aggregation in spatial data streams
PODS '12 Proceedings of the 31st symposium on Principles of Database Systems
Persistent Predecessor Search and Orthogonal Point Location on the Word RAM
ACM Transactions on Algorithms (TALG) - Special Issue on SODA'11
Algorithms for Computing Prominence on Grid Terrains
Proceedings of the 21st ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems
Hi-index | 0.00 |
We give an O(n √lg n)-time algorithm for counting the number of inversions in a permutation on n elements. This improves a long-standing previous bound of O(n lg n/ lg lg n) that followed from Dietz's data structure [WADS'89], and answers a question of Andersson and Petersson [SODA'95]. As Dietz's result is known to be optimal for the related dynamic rank problem, our result demonstrates a significant improvement in the offline setting. Our new technique is quite simple: we perform a "vertical partitioning" of a trie (akin to van Emde Boas trees), and use ideas from external memory. However, the technique finds numerous applications: for example, we obtain • in d dimensions, an algorithm to answer n offline orthogonal range counting queries in time O(n lgd-2+1/d n); • an improved construction time for online data structures for orthogonal range counting; • an improved update time for the partial sums problem; • faster Word RAM algorithms for finding the maximum depth in an arrangement of axis-aligned rectangles, and for the slope selection problem. As a bonus, we also give a simple (1 + ε)-approximation algorithm for counting inversions that runs in linear time, improving the previous O (n lg lg n) bound by Andersson and Petersson.