Jon Bentley (computer scientist)

From Wikipedia, the free encyclopedia
Jon Bentley
Jon Louis Bentley

(1953-02-20) February 20, 1953 (age 71)
Alma materUniversity of North Carolina at Chapel Hill
Stanford University
TitleComputer Scientist
Scientific career
Thesis Divide and conquer algorithms for closest point problems in multidimensional space  (1976)
Doctoral advisorDonald Ford Stanat
Doctoral students

Jon Louis Bentley (born February 20, 1953) is an American computer scientist who is known for his contributions to computer programming, algorithms and data structure research.


Bentley received a B.S. in mathematical sciences from Stanford University in 1974. At this time he developed his most cited work, the heuristic-based partitioning algorithm k-d tree, published in 1975.[2]

He received a M.S. and PhD in 1976 from the University of North Carolina at Chapel Hill. While a student, he also held internships at the Xerox Palo Alto Research Center and Stanford Linear Accelerator Center.[1]


After receiving his Ph.D., he taught programming and computer architecture for six years as member of the faculty at Carnegie Mellon University as an assistant professor of computer science and mathematics.[1] At CMU, his students included Brian Reid, John Ousterhout, Jeff Eppinger, Joshua Bloch, and James Gosling, and he was one of Charles Leiserson's advisors.[3] He published Writing efficient programs in 1982.[4]

In 1982,[5] Bentley moved to the Computer Science Research Center at Bell Laboratories, where he was Distinguished Member of the Technical Staff. In this period he developed various languages, continued his algorithm research and developed various software and products for communication systems.[6] He co-authored an optimized Quicksort algorithm with Doug McIlroy.[7]

He left Bell Labs in 2001 and worked at Avaya Labs Research until 2013. In this period he developed enterprise communication systems.[5]

He found an optimal solution for the two dimensional case of Klee's measure problem: given a set of n rectangles, find the area of their union. He and Thomas Ottmann invented the Bentley–Ottmann algorithm, an efficient algorithm for finding all intersecting pairs among a collection of line segments.

He wrote the Programming Pearls column for the Communications of the ACM magazine, and later collected the articles into two books of the same name in 1986 and 1988.[8][9]

Bentley received the Dr. Dobb's Excellence in Programming award in 2004.

Personal life[edit]

He is a mountaineer that has climbed over one hundred 4,000 feet high peaks in the north-eastern parts of US.[6]


  • Programming Pearls, 1986. A second edition appeared in 2016, ISBN 0-201-65788-0.[8]
  • More Programming Pearls: Confessions of a Coder, Prentice-Hall, 1988, ISBN 0-201-11889-0.[9]
  • Writing Efficient Programs, Prentice-Hall, 1982, ISBN 0-13-970244-X.[4]
  • Divide and Conquer Algorithms for Closest Point Problems in Multidimensional Space, Ph.D. thesis.[10]


  1. ^ a b c Biography from Bentley, J. L.; Ottmann, T. A. (1979), "Algorithms for reporting and counting geometric intersections" (PDF), IEEE Transactions on Computers, C-28 (9): 643–647, doi:10.1109/TC.1979.1675432, S2CID 1618521, archived from the original on September 22, 2017.
  2. ^ See the Jon Louis Bentley Google Scholar profile, last accessed on 14 February 2024.
  3. ^ Jon Louis Bentley at the Mathematics Genealogy Project
  4. ^ a b Writing efficient programs, online version at, last accessed on 14 February 2024.
  5. ^ a b CSE Colloquim, Jon Bentley, bulletin from, last accessed on 14 February 2024.
  6. ^ a b Jon Bentley, bio published at, last accessed on 14 February 2024.
  7. ^ Jon L. Bentley; M. Douglas McIlroy (November 1993). "Engineering a sort function". Software—Practice & Experience. 23 (11).
  8. ^ a b Programming Pearls (2nd edition), online version at, last accessed on 14 February 2024.
  9. ^ a b More programming pearls: Confessions of a coder, online version at, last accessed on 14 February 2024.
  10. ^ Bentley, Jon L. (1976). Divide and conquer algorithms for closest point problems in multidimensional space.