Jon Louis Bentley

dblp:84/2910 · DBLP profile ↗
← Back
42ranked-venue papers
35as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 30 · 25 first-authorDatabases, data management, data science and information retrieval · 9 · 9 first-authorSoftware engineering, systems software and programming languages · 5 · 4 first-authorSystems, architecture and hardware · 3 · 3 first-authorSecurity and privacy · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
15 papers
Algorithms and data structures · 52% Computational geometry · 28% Mathematical optimization · 14%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computing education · 100%

Topics — the 30 heaviest of 35, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Algorithms and data structures › sequence algorithms
string algorithms
0.011997
Fast Algorithms for Sorting and Searching Strings · SODA 1997
Algorithms and data structures › similarity search
nearest neighbor search
0.031990
K-d Trees for Semidynamic Point Sets · SCG 1990
Scaling and Related Techniques for Geometry Problems · STOC 1984
A Worst-Case Analysis of Nearest Neighbor Searching by Projection · ICALP 1980
Algorithms and data structures › analysis of algorithms
expected-time algorithms
0.021990
Fast Linear Expected-Time Algorithms for Computing Maxima and Convex Hulls · SODA 1990
On the Average Number of Maxima in a Set of Vectors and Applications · J. ACM 1978
Computational geometry
convex hull
0.021990
Fast Linear Expected-Time Algorithms for Computing Maxima and Convex Hulls · SODA 1990
On the Average Number of Maxima in a Set of Vectors and Applications · J. ACM 1978
Mathematical optimization
combinatorial optimization
0.011990
Experiments on Traveling Salesman Heuristics · SODA 1990
Algorithms and data structures
heuristic algorithms
0.011990
Experiments on Traveling Salesman Heuristics · SODA 1990
Computational geometry › spatial data structures
kd-tree
0.011990
K-d Trees for Semidynamic Point Sets · SCG 1990
Computational geometry › discrete geometry
maxima problem
0.011990
Fast Linear Expected-Time Algorithms for Computing Maxima and Convex Hulls · SODA 1990
Computational geometry
spatial data structures
0.011990
K-d Trees for Semidynamic Point Sets · SCG 1990
Mathematical optimization › combinatorial optimization › vehicle routing
traveling salesman problem
0.011990
Experiments on Traveling Salesman Heuristics · SODA 1990
Algorithms and data structures › sequence algorithms › string algorithms
string data structures
0.011997
Fast Algorithms for Sorting and Searching Strings · SODA 1997
Algorithms and data structures › data structure design › search structures › search trees
trie
0.011997
Fast Algorithms for Sorting and Searching Strings · SODA 1997
Computing education
software engineering education
0.011987
Exercises in Software Design · IEEE Trans. Software Eng. 1987
Algorithms and data structures › analysis of algorithms
average-case analysis
0.021984
Some Unexpected Expected Behavior Results for Bin Packing · STOC 1984
On the Average Number of Maxima in a Set of Vectors and Applications · J. ACM 1978
Computational geometry
geometric intersection
0.021980
An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles · IEEE Trans. Computers 1980
Algorithms for Reporting and Counting Geometric Intersections · IEEE Trans. Computers 1979
Approximation and online algorithms
bin packing
0.011984
Some Unexpected Expected Behavior Results for Bin Packing · STOC 1984
Mathematical optimization › combinatorial optimization › greedy algorithm
first fit
0.011984
Some Unexpected Expected Behavior Results for Bin Packing · STOC 1984
Approximation and online algorithms › bin packing
first fit decreasing
0.011984
Some Unexpected Expected Behavior Results for Bin Packing · STOC 1984
Computational geometry
geometric data structures
0.011984
Scaling and Related Techniques for Geometry Problems · STOC 1984
Computational geometry
range searching
0.011980
An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles · IEEE Trans. Computers 1980
Computational geometry › geometric intersection
rectangle intersection
0.011980
An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles · IEEE Trans. Computers 1980
Algorithms and data structures › analysis of algorithms
worst-case analysis
0.011980
A Worst-Case Analysis of Nearest Neighbor Searching by Projection · ICALP 1980
Indexing and storage engines › multidimensional indexing
k-d tree
0.011979
Multidimensional Binary Search Trees in Database Applications · IEEE Trans. Software Eng. 1979
Indexing and storage engines
multidimensional indexing
0.011979
Multidimensional Binary Search Trees in Database Applications · IEEE Trans. Software Eng. 1979
Algorithms and data structures
dynamic data structures
0.011979
Transforming Static Data Structures to Dynamic Structures (Abridged Version) · FOCS 1979
Requirements engineering and software design
software design principles
0.011987
Exercises in Software Design · IEEE Trans. Software Eng. 1987
Algorithms and data structures
analysis of algorithms
0.011978
On the Average Number of Maxima in a Set of Vectors and Applications · J. ACM 1978
Graph algorithms and graph theory
graph algorithms
0.011978
Fast Algorithms for Constructing Minimal Spanning Trees in Coordinate Spaces · IEEE Trans. Computers 1978
Graph algorithms and graph theory › spanning tree
minimum spanning tree
0.011978
Fast Algorithms for Constructing Minimal Spanning Trees in Coordinate Spaces · IEEE Trans. Computers 1978
Computational geometry › proximity problems
closest pair
0.011976
Divide-and-Conquer in Multidimensional Space · STOC 1976

Methods — techniques the papers use, named apart from their topics

string algorithms · 0.0probabilistic analysis · 0.0hands-on exercises · 0.0sampling · 0.0experimental evaluation · 0.0computational geometry · 0.0scaling · 0.0cartesian trees · 0.0activation · 0.0upper bounds · 0.0lower bound · 0.0formal specification · 0.0correctness proof · 0.0geometric data structures · 0.0
YearPublicationVenuePosition
2014 Selecting Data for Experiments: Past, Present and Future
Jon Louis Bentley
SEA1
2005 Query-directed passwords
Lawrence O'Gorman, Amit Bagga, Jon Louis Bentley
Comput. Secur.3
2003 Experiments for Algorithm Engineering
Jon Louis Bentley
COCOON1
2001 Data compression with long repeated strings
Jon Louis Bentley, M. Douglas McIlroy
Inf. Sci.1
1999 Data Compression Using Long Common Strings
abstract
We describe a precompression algorithm that effectively represents any long common strings that appear in a file. The algorithm interacts well with standard compression algorithms that represent shorter strings that are near in the input text. Our experiments show that some real data sets do indeed contain many long common strings. We extend the fingerprint mechanisms of our algorithm to a program that identifies long common strings in an input file. This program gives interesting insights into the structure of real data files that contain long common strings.
Jon Louis Bentley, M. Douglas McIlroy
Data Compression Conference1
1997 Fast Algorithms for Sorting and Searching Strings
Jon Louis Bentley, Robert Sedgewick
SODA1
1993 Fast Linear Expected-Time Algorithms for Computing Maxima and Convex Hulls
Jon Louis Bentley, Kenneth L. Clarkson, David B. Levine
Algorithmica1
1993 Engineering a Sort Function
abstract
Abstract We recount the history of a new qsortfunction for a C library. Our function is clearer, faster and more robust than existing sorts. It chooses partitioning elements by a new sampling scheme; it partitions by a novel solution to Dijkstra's Dutch National Flag problem; and it swaps efficiently. Its behavior was assessed with timing and debugging testbeds, and with a program to certify performance. The design techniques apply in domains beyond sorting.
Jon Louis Bentley, M. Douglas McIlroy
Softw. Pract. Exp.1
1993 Template-driven interfaces for numerical subroutines
abstract
This paper describes a set of interfaces for numerical subroutines. Typing a short (often one-line) description allows one to solve problems in application domains including least-squares data fitting, differential equations, minimization, root finding, and integration. Our approach of “template-driven programming” makes it easy to build such an interface: a simple one takes a few hours to construct, while a few days suffice to build the most complex program we describe.
Jon Louis Bentley, Mary F. Fernández, Brian W. Kernighan, Norman L. Schryer
ACM Trans. Math. Softw.1
1992 Fast Algorithms for Geometric Traveling Salesman Problems
abstract
This paper describes efficient algorithms for computing approximate traveling salesman tours in multidimensional point sets. We describe implementations of a dozen starting heuristics (including Nearest Neighbor and Farthest Insertion) and three local optimizations (including 2-Opt and 3-Opt). Experiments indicate that most of the algorithms run in O(N log N) time on uniform data sets, and many run almost as fast on very nonuniform data. The program that implements the algorithms is able to solve uniform planar million-city traveling salesman problems to within a few percent of optimal in several midicomputer CPU hours. The algorithms and program apply to many distance metrics and dimensions. INFORMS Journal on Computing, ISSN 1091-9856, was published as ORSA Journal on Computing from 1989 to 1995 under ISSN 0899-1499.
Jon Louis Bentley
INFORMS J. Comput.1
1990 K-d Trees for Semidynamic Point Sets
abstract
A K-d tree represents a set of N points in K-dimensional space. Operations on a semidynamic tree may delete and undelete points, but may not insert new points. This paper shows that several operations that require Ο(log N) expected time in general K-d trees may be performed in constant expected time in semidynamic trees. These operations include deletion, undeletion, nearest neighbor searching, and fixed-radius near neighbor searching (the running times of the first two are proved, while the last two are supported by experiments and heuristic arguments). Other new techniques can also be applied to general K-d trees: simple sampling reduces the time to build a tree from Ο(KN log N) to Ο(KN + N log N), and more advanced sampling builds a robust tree in the same time. The methods are straightforward to implement, and lead to a data structure that is significantly faster and less vulnerable to pathological inputs than ordinary K-d trees.
Jon Louis Bentley
SCG1
1990 Experiments on Traveling Salesman Heuristics
Jon Louis Bentley
SODA1
1990 Fast Linear Expected-Time Algorithms for Computing Maxima and Convex Hulls
Jon Louis Bentley, Kenneth L. Clarkson, David B. Levine
SODA1
1987 Exercises in Software Design
abstract
Typical software engineering courses teach principles in lectures and readings, then apply them in the development of a single program (requiring several months). We recently taught a software engineering class that incorporated many smaller exercises (requiring several hours). The class was successful: students were able to experiment with a broad set of ideas, and make interesting mistakes without jeopardizing the grades of their development team. This paper describes some tools and techniques we taught, and suggests how they might be incorporated into typical software engineering classes.
Jon Louis Bentley, John A. Dallen
IEEE Trans. Software Eng.1
1984 Some Unexpected Expected Behavior Results for Bin Packing
abstract
We study the asymptotic expected behavior of the First Fit and First Fit Decreasing bin packing algorithms applied to items chosen uniformly from the interval (0,u], u ≤ 1. Our results indicate that the algorithms perform even better than previously expected.
Jon Louis Bentley, David S. Johnson 0001, Frank Thomson Leighton, Catherine C. McGeoch, Lyle A. McGeoch
STOC1
1984 Scaling and Related Techniques for Geometry Problems
abstract
Three techniques in computational geometry are explored: Scaling solves a problem by viewing it at increasing levels of numerical precision; activation is a restricted type of update operation, useful in sweep algorithms; the Cartesian tree is a data structure for problems involving maximums and minimums. These techniques solve the minimum spanning tree problem in Rk1 and Rk@@@@ in O(n(lg n)rlg lg n) time and O(n) space, where for Rk@@@@ and k ≥ 3, r = k-2; for Rk1, r = 1, 2, 4 for k = 3, 4, 5 and r = k for k > 5. Other problems solved include Rk1and Rk all nearest neighbors, post office and maximum spanning tree; Rk maxima, Rk rectangle searching problems, and Zkp all nearest neighbors (1 ≤ p ≤ @@@@).
Harold N. Gabow, Jon Louis Bentley, Robert E. Tarjan
STOC2
1982 A General Class of Resource Tradeoffs
Jon Louis Bentley, Donna J. Brown
J. Comput. Syst. Sci.1
1981 The Complexity of Manipulating Hierarchically Defined Sets of Rectangles
Jon Louis Bentley, Thomas Ottmann
MFCS1
1980 A General Class of Resource Tradeoffs (Extended Abstract)
abstract
In this paper we study a class of resource tradeoffs that arise in such problems as parallel sorting algorithms, linear recursion schemata, VLSI layouts, and searching problems. The tradeoffs can all be traced to the common structure of a multiway tree, and the special class of binomial trees (which are isomorphic to the binomial coefficients) correspond to particularly efficient algorithms. Although all of the tradeoffs that we exhibit are upper bounds, we present evidence to show that the approach can also lead to lower bounds.
Jon Louis Bentley, Donna J. Brown
FOCS1
1980 A Worst-Case Analysis of Nearest Neighbor Searching by Projection
Christos H. Papadimitriou, Jon Louis Bentley
ICALP2
1980 The Power of a One-Dimensional Vector of Processors
Jon Louis Bentley, Thomas Ottmann
WG1
1980 Efficient Worst-Case Data Structures for Range Searching
Jon Louis Bentley, Hermann A. Maurer
Acta Informatica1
1980 An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles
abstract
In this paper we investigate the problem of reporting all intersecting pairs in a set of n rectilinearly oriented rectangles in the plane. This problem arises in applications such as design rule checking of very large-scale integrated (VLSI) circuits and architectural databases. We describe an algorithm that solves this problem in worst case time proportional to n lg n + k, where k is the number of interesecting pairs found. This algorithm is optimal to within a constant factor. As an intermediate step of this algorithm, we solve a problem related to the range searching problem that arises in database applications. Although the algorithms that we describe are primarily theoretical devices (being very difficult to code), they suggest other algorithms that are quite practical.
Jon Louis Bentley, Derick Wood
IEEE Trans. Computers1
1980 Generating Sorted Lists of Random Numbers
abstract
RandomThe empirical testing of a program often calls for generating a set of random numbers and then nnmedmtely sorting them.In this paper we consider the problem of accomplishing that process in a single step.generating a sorted list of random numbers (specifically, reals chosen uniformly from [0, 1]).The method we describe generates the randoms in linear worst-case time, is perfectly random (if it can call a perfectly random generator for a single uniform), and can be described in just a few lines of Algol or Pascal code.If the numbers are not requtred to be generated all at once {but are rather to be used one at a time), then the method can be implemented as a subroutine to produce the "next" number m constant tnne and requires only constant storage Key Words and Phrases: random number generation, sorting, probabilistic methods in algorithm design, linear-time algorithms CR Categories: 5.25, 5.
Jon Louis Bentley, James B. Saxe
ACM Trans. Math. Softw.1
1980 Optimal Expected-Time Algorithms for Closest Point Problems
abstract
Geometric closest potnt problems deal with the proxLmity relationships in k-dimensional point sets.Examples of closest point problems include building minimum spanning trees, nearest neighbor searching, and triangulation constructmn Shamos and Hoey [17] have shown how the Voronoi dtagram can be used to solve a number of planar closest point problems in optimal worst case tune.In this paper we extend thmr work by giving optimal expected.trinealgorithms for solving a number of closest point problems in k-space, including nearest neighbor searching, finding all nearest neighbors, and computing planar minimum spanning trees.In addition to establishing theoretical bounds, the algorithms in this paper can be implemented to solve practical problems very efficiently.
Jon Louis Bentley, Bruce W. Weide, Andrew Chi-Chih Yao
ACM Trans. Math. Softw.1
1980 An Alphard Specification of a Correct and Efficient Transformation on Data Structures
abstract
In this paper we study the problem of designing and specifying standard program components applicable to a wide variety of tasks; we choose for this study the specific problem domain of data structures for general searching problems. Within this domain Bentley and Saxe [1] have developed transformations for converting solutions of simple searching problems to solutions of more complex problems. We discuss one of those transformations, specify precisely the transformation and its conditions of applicability, and prove its correctness; we accomplish this by casting it in terms of abstract data types–specifically by using the Alphard form mechanism. The costs of the structures derived by this transformation are only slightly greater than the costs of the original structures, and the correctness of the transformation definition together with the correctness of the original structure assure the correctness of the derived structure. The transformation we describe has already been used to develop a number of new algorithms, and it represents a new level of generality in software engineering tools.
Jon Louis Bentley, Mary Shaw
IEEE Trans. Software Eng.1
1979 Transforming Static Data Structures to Dynamic Structures (Abridged Version)
abstract
In this paper we will investigate transformations that serve as tools in the design of new data structures. Specifically, we study general methods for converting static structures (in which all elements are known before any searches are performed) to dynamic structures (in which the insertion of a new element can be mixed with searches). We will see three classes of such transformations (each based on a different counting scheme for representing the integers) and then use a combinatorial model to show the optimality of many of the transformations. Issues such as online data structures and deletion of elements are also examined. To demonstrate the applicability of these tools, we will study six new data structures that have been developed by applying the transformations.
James B. Saxe, Jon Louis Bentley
FOCS2
1979 Decomposable Searching Problems
Jon Louis Bentley
Inf. Process. Lett.1
1979 A Note on Euclidean Near Neighbor Searching in the Plane
Jon Louis Bentley, Hermann A. Maurer
Inf. Process. Lett.1
1979 The NAG Library 'Machine'
abstract
Abstract If a reliable, high quality numerical algorithms library is to be developed then it is essential that we recognize the need for collaboration between different technical communities in the development of the library. This paper suggests an ultimate design for the library and describes the implications of that design for the people involved in the development of the library.
Brian Ford, Jon Louis Bentley, J. J. Du Croz, Stephen J. Hague
Softw. Pract. Exp.2
1979 Algorithms for Reporting and Counting Geometric Intersections
abstract
An interesting class of "geometric intersection problems" calls for dealing with the pairwise intersections among a set of N objects in the plane, These problems arise in many applications such as printed circuit design, architectural data bases, and computer graphics. Shamos and Hoey have described a number of algorithms for detecting whether any two objects in a planar set intersect. In this paper we extend their work by giving algorithms that count the number of such intersections and algorithms that report all such intersections.
Jon Louis Bentley, Thomas Ottmann
IEEE Trans. Computers1
1979 Multidimensional Binary Search Trees in Database Applications
abstract
The multidimensional binary search tree (abbreviated k-d tree) is a data structure for storing multikey records. This structure has been used to solve a number of "geometric" problems in statistics and data analysis. The purposes of this paper are to cast k-d trees in a database framework, to collect the results on k-d trees that have appeared since the structure was introduced, and to show how the basic data structure can be modified to facilitate implementation in large (and very large) databases.
Jon Louis Bentley
IEEE Trans. Software Eng.1
1978 Divide and Conquer for Linear Expected Time
Jon Louis Bentley, Michael Ian Shamos
Inf. Process. Lett.1
1978 On the Average Number of Maxima in a Set of Vectors and Applications
abstract
A maximal vector of a set ~s one which is not less than any other vector m all components We derive a recurrence relation for computing the average number of maxunal vectors m a set of n vectors m d-space under the assumpUon that all (nl) a relative ordermgs are equally probable.Solving the recurrence shows that the average number of maxmaa is O((ln n) a-~) for fixed d We use this result to construct an algorithm for finding all the maxima that have expected running tmae hnear m n (for sets of vectors drawn under our assumptions) We then use the result to find an upper bound on the expected number of convex hull points m a random point set KE~ WORDS AND eHRASES maxtma of a set of vectors, average number of maxtma, expected-tsme algorithms, analysts of algorithms, convex hulls, dynamtc programming CR CATEGORIES" 5 25, 5.39, 5.42 Permtsston to copy without fee all or part of this material ts granted provtded that the copies are not made or distributed for direct commercial advantage, the ACM copyrtght notice and the tRle of the pubhcatlon and its date appear, and notice ts gtven that copying ts by permission of the Assoctatton for Computmg Machinery To copy otherwtse, or to repubhsh, reqmres a fee and/or specific permtsslon This research was supported m part by the Nattonal Soence Foundation under Grant MCS 75-222-55 and the Office of Naval Research under
Jon Louis Bentley, H. T. Kung 0001, Mario Schkolnick, Clark D. Thomborson
J. ACM1
1978 Fast Algorithms for Constructing Minimal Spanning Trees in Coordinate Spaces
abstract
Algorithms are presented that construct the shortest connecting network, or minimal spanning tree (MST), of N points embedded in k-dimensional coordinate space. These algorithms take advantage of the geometry of such spaces to substantially reduce the computation from that required to construct MST's of more general graphs. An algorithm is also presented that constructs a spanning tree that is very nearly minimal with computation proportional to N log N for all k.
Jon Louis Bentley, Jerome H. Friedman
IEEE Trans. Computers1
1977 The Complexity of Finding Fixed-Radius Near Neighbors
Jon Louis Bentley, Donald F. Stanat, E. Hollins Williams Jr.
Inf. Process. Lett.1
1977 An Algorithm for Finding Best Matches in Logarithmic Expected Time
abstract
An algorithm and data structure are presented for searching a file containing N records, each described by k real valued keys, for the m closest matches or nearest neighbors to a given query record. The computation required to organize the file is proportional to kNlogN. The expected number of records examined in each search is independent of the file size. The expected computation to perform each search is proportional-to 1ogN. Empirical evidence suggests that except for very small files, this algorithm is considerably faster than other methods.
Jerome H. Friedman, Jon Louis Bentley, Raphael A. Finkel
ACM Trans. Math. Softw.2
1976 Divide-and-Conquer in Multidimensional Space
abstract
We investigate a divide-and-conquer technique in multidimensional space which decomposes a geometric problem on N points in k dimensions into two problems on N/2 points in k dimensions plus a single problem on N points in k−1 dimension. Special structure of the subproblems is exploited to obtain an algorithm for finding the two closest of N points in 0(N log N) time in any dimension. Related results are discussed, along with some conjectures and unsolved geometric problems.
Jon Louis Bentley, Michael Ian Shamos
STOC1
1976 Heuristics for Partial-Match Retrieval Data Base Design
Jon Louis Bentley, Walter A. Burkhard
Inf. Process. Lett.1
1976 An Almost Optimal Algorithm for Unbounded Searching
Jon Louis Bentley, Andrew Chi-Chih Yao
Inf. Process. Lett.1
1975 Analysis of Range Searches in Quad Trees
Jon Louis Bentley, Donald F. Stanat
Inf. Process. Lett.1
1974 Quad Trees: A Data Structure for Retrieval on Composite Keys
Raphael A. Finkel, Jon Louis Bentley
Acta Informatica2