Jon Bentley (computer scientist)

Last updated
Jon Bentley
Born
Jon Louis Bentley

(1953-02-20) February 20, 1953 (age 71)
Alma mater University of North Carolina at Chapel Hill
Stanford University
Title Computer Scientist
Scientific career
Institutions Avaya
Thesis Divide and conquer algorithms for closest point problems in multidimensional space (1976)
Doctoral advisor Donald 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.

Contents

Education

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]

Career

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

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

Bibliography

Related Research Articles

<span class="mw-page-title-main">Niklaus Wirth</span> Swiss computer scientist (1934–2024)

Niklaus Emil Wirth was a Swiss computer scientist. He designed several programming languages, including Pascal, and pioneered several classic topics in software engineering. In 1984, he won the Turing Award, generally recognized as the highest distinction in computer science, "for developing a sequence of innovative computer languages".

<span class="mw-page-title-main">Robert Tarjan</span> American computer scientist and mathematician

Robert Endre Tarjan is an American computer scientist and mathematician. He is the discoverer of several graph theory algorithms, including his strongly connected components algorithm, and co-inventor of both splay trees and Fibonacci heaps. Tarjan is currently the James S. McDonnell Distinguished University Professor of Computer Science at Princeton University.

<span class="mw-page-title-main">Alfred Aho</span> Canadian computer scientist

Alfred Vaino Aho is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming.

<span class="mw-page-title-main">Douglas McIlroy</span> American mathematician and computer scientist

Malcolm Douglas McIlroy is an American mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as spell, diff, sort, join, graph, speak, and tr. He was also one of the pioneering researchers of macro processors and programming language extensibility. He participated in the design of multiple influential programming languages, particularly PL/I, SNOBOL, ALTRAN, TMG and C++.

<span class="mw-page-title-main">Robert Sedgewick (computer scientist)</span> American computer scientist

Robert Sedgewick is an American computer scientist. He is the founding chair and the William O. Baker Professor in Computer Science at Princeton University and was a member of the board of directors of Adobe Systems (1990–2016). He previously served on the faculty at Brown University and has held visiting research positions at Xerox PARC, Institute for Defense Analyses, and INRIA. His research expertise is in algorithm science, data structures, and analytic combinatorics. He is also active in developing the college curriculum in computer science and in harnessing technology to make that curriculum available to anyone seeking the opportunity to learn from it.

<span class="mw-page-title-main">Robert W. Floyd</span> American computer scientist (1936–2001)

Robert W Floyd was a computer scientist. His contributions include the design of the Floyd–Warshall algorithm, which efficiently finds all shortest paths in a graph and his work on parsing; Floyd's cycle-finding algorithm for detecting cycles in a sequence was attributed to him as well. In one isolated paper he introduced the important concept of error diffusion for rendering images, also called Floyd–Steinberg dithering. He pioneered in the field of program verification using logical assertions with the 1967 paper Assigning Meanings to Programs. This was a contribution to what later became Hoare logic. Floyd received the Turing Award in 1978.

<span class="mw-page-title-main">Hidden-line removal</span> Problem of finding obscured edges in a wire-frame 3D model

In 3D computer graphics, solid objects are usually modeled by polyhedra. A face of a polyhedron is a planar polygon bounded by straight line segments, called edges. Curved surfaces are usually approximated by a polygon mesh. Computer programs for line drawings of opaque objects must be able to decide which edges or which parts of the edges are hidden by an object itself or by other objects, so that those edges can be clipped during rendering. This problem is known as hidden-line removal.

Computational science, also known as scientific computing, technical computing or scientific computation (SC), is a division of science that uses advanced computing capabilities to understand and solve complex physical problems. This includes

<span class="mw-page-title-main">Charles E. Leiserson</span> American computer scientist

Charles Eric Leiserson is a computer scientist and professor at Massachusetts Institute of Technology (M.I.T.). He specializes in the theory of parallel computing and distributed computing.

<span class="mw-page-title-main">Klee's measure problem</span> Computational geometry problem

In computational geometry, Klee's measure problem is the problem of determining how efficiently the measure of a union of (multidimensional) rectangular ranges can be computed. Here, a d-dimensional rectangular range is defined to be a Cartesian product of d intervals of real numbers, which is a subset of Rd.

In computational geometry, the multiple line segment intersection problem supplies a list of line segments in the Euclidean plane and asks whether any two of them intersect (cross).

<span class="mw-page-title-main">Quicksort</span> Divide and conquer sorting algorithm

Quicksort is an efficient, general-purpose sorting algorithm. Quicksort was developed by British computer scientist Tony Hoare in 1959 and published in 1961. It is still a commonly used algorithm for sorting. Overall, it is slightly faster than merge sort and heapsort for randomized data, particularly on larger distributions.

<span class="mw-page-title-main">Boolean operations on polygons</span>

Boolean operations on polygons are a set of Boolean operations operating on one or more sets of polygons in computer graphics. These sets of operations are widely used in computer graphics, CAD, and in EDA.

<span class="mw-page-title-main">Maximum subarray problem</span> Problem in computer science

In computer science, the maximum sum subarray problem, also known as the maximum segment sum problem, is the task of finding a contiguous subarray with the largest sum, within a given one-dimensional array A[1...n] of numbers. It can be solved in time and space.

In mathematical optimization and computer science, heuristic is a technique designed for problem solving more quickly when classic methods are too slow for finding an exact or approximate solution, or when classic methods fail to find any exact solution in a search space. This is achieved by trading optimality, completeness, accuracy, or precision for speed. In a way, it can be considered a shortcut.

In computational geometry, the Bentley–Ottmann algorithm is a sweep line algorithm for listing all crossings in a set of line segments, i.e. it finds the intersection points of line segments. It extends the Shamos–Hoey algorithm, a similar previous algorithm for testing whether or not a set of line segments has any crossings. For an input consisting of line segments with crossings, the Bentley–Ottmann algorithm takes time . In cases where , this is an improvement on a naïve algorithm that tests every pair of segments, which takes .

In computer science, the all nearest smaller values problem is the following task: for each position in a sequence of numbers, search among the previous positions for the last position that contains a smaller value. This problem can be solved efficiently both by parallel and non-parallel algorithms: Berkman, Schieber & Vishkin (1993), who first identified the procedure as a useful subroutine for other parallel programs, developed efficient algorithms to solve it in the Parallel Random Access Machine model; it may also be solved in linear time on a non-parallel computer using a stack-based algorithm. Later researchers have studied algorithms to solve it in other models of parallel computation.

<span class="mw-page-title-main">Roland Carl Backhouse</span> British computer scientist and mathematician

Roland Carl Backhouse is a British computer scientist and mathematician. As of 2020, he is Emeritus Professor of Computing Science at the University of Nottingham.

The inventor's paradox is a phenomenon that occurs in seeking a solution to a given problem. Instead of solving a specific type of problem, which would seem intuitively easier, it can be easier to solve a more general problem, which covers the specifics of the sought-after solution. The inventor's paradox has been used to describe phenomena in mathematics, programming, and logic, as well as other areas that involve critical thinking.

Daniel Mier Gusfield is an American computer scientist, Distinguished Professor of Computer Science at the University of California, Davis. Gusfield is known for his research in combinatorial optimization and computational biology.

References

  1. 1 2 3 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. 1 2 Writing efficient programs, online version at archive.org, last accessed on 14 February 2024.
  5. 1 2 CSE Colloquim, Jon Bentley, bulletin from cse.uconn.edu, last accessed on 14 February 2024.
  6. 1 2 Jon Bentley, bio published at lehigh.edu, 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. 1 2 Programming Pearls (2nd edition), online version at archive.org, last accessed on 14 February 2024.
  9. 1 2 More programming pearls: Confessions of a coder, online version at archive.org, last accessed on 14 February 2024.
  10. Bentley, Jon L. (1976). Divide and conquer algorithms for closest point problems in multidimensional space.