Subquadratic Algorithms for 3SUM

  • Ilya Baran
  • Erik D. Demaine
  • Mihai Pǎtraşcu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3608)


We obtain subquadratic algorithms for 3SUM on integers and rationals in several models. On a standard word RAM with w-bit words, we obtain a running time of O(n 2 / max{\(\frac{w}{lg^2 w}, \frac{lg^2 n}{(lg lg n)^2}\)}). In the circuit RAM with one nonstandard AC 0 operation, we obtain O(n 2 /\(\frac{w}{lg^2 w}\)). In external memory, we achieve O(n 2 / (MB)), even under the standard assumption of data indivisibility. Cache-obliviously, we obtain a running time of O(n 2 / \(\frac{MB}{lg^2 M}\)). In all cases, our speedup is almost quadratic in the parallelism the model can afford, which may be the best possible. Our algorithms are Las Vegas randomized; time bounds hold in expectation, and in most cases, with high probability.


Hash Function External Memory Hash Code Paging Strategy Perfect Binary Tree 
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.
    Albers, S., Hagerup, T.: Improved parallel integer sorting without concurrent writing. In: Proc. 3rd ACM/SIAM Symposium on Discrete Algorithms (SODA), pp. 463–472 (1992)Google Scholar
  2. 2.
    Andersson, A., Miltersen, P.B., Riis, S., Thorup, M.: Static dictionaries on AC 0 RAMs: Query time \(\Theta(\sqrt{\log n/\log\log n})\) is necessary and sufficient. In: Proc. 37th IEEE Symposium on Foundations of Computer Science (FOCS), pp. 441–450 (1996)Google Scholar
  3. 3.
    Andersson, A., Miltersen, P.B., Thorup, M.: Fusion trees can be implemented with AC 0 instructions only. Theoretical Computer Science 215, 337–344 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. MIT Press and McGraw-Hill (2001)Google Scholar
  5. 5.
    Demaine, E.D.: Cache-oblivious algorithms and data structures. In: Lecture Notes from the EEF Summer School on Massive Data Sets, BRICS. LNCS, pp. 39–46. University of Aarhus, Denmark (2002)Google Scholar
  6. 6.
    Dietzfelbinger, M.: Universal hashing and k-wise independent random variables via integer arithmetic without primes. In: Puech, C., Reischuk, R. (eds.) STACS 1996. LNCS, vol. 1046, pp. 569–580. Springer, Heidelberg (1996)Google Scholar
  7. 7.
    Erickson, J.: Bounds for linear satisfiability problems. Chicago Journal of Theoretical Computer Science (8) (1999)Google Scholar
  8. 8.
    Gajentaan, A., Overmars, M.H.: On a class of O(n 2) problems in computational geometry. Computational Geometry: Theory and Applications 5, 165–185 (1995)zbMATHMathSciNetGoogle Scholar
  9. 9.
    Thorup, M.: Randomized sorting in O(nloglogn) time and linear space using addition, shift, and bit-wise boolean operations. Journal of Algorithms 42, 205–230 (2002); See also SODA (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Ilya Baran
    • 1
  • Erik D. Demaine
    • 1
  • Mihai Pǎtraşcu
    • 1
  1. 1.MIT Computer Science and Artificial Intelligence Laboratory 

Personalised recommendations