Robert W. Floyd’s research while affiliated with Stanford University and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (17)


Expected Time Bounds for Selection.
  • Article

March 1975

·

21 Reads

·

356 Citations

Communications of the ACM

Robert W. Floyd

·

Ronald L. Rivest

A new selection algorithm is presented which is shown to be very efficient on the average, both theoretically and practically. The number of comparisons used to select the ith smallest of n numbers is n + min(i,n-i) + o(n). A lower bound within 9 percent of the above formula is also derived.


Algorithm 489: The algorithm SELECT—for finding the ith smallest of n elements [M1]

March 1975

·

35 Reads

·

57 Citations

Communications of the ACM

SELECT will rearrange the values of array segment X[L: R] so that X[K] (for some given K; L ≤ K ≤ R) will contain the (K-L+1)-th smallest value, L ≤ I ≤ K will imply X[I] ≤ X[K], and K ≤ I ≤ R will imply X[I] ≥ X[K. While SELECT is thus functionally equivalent to Hoare's algorithm FIND [1], it is significantly faster on the average due to the effective use of sampling to determine the element T about which to partition X. The average time over 25 trials required by SELECT and FIND to determine the median of n elements was found experimentally to be: n 500 1000 5000 10000 SELECT 89 ms. 141 ms. 493 ms. 877 ms. FIND 104 ms. 197 ms. 1029 ms. 1964 ms. The arbitrary constants 600, .5, and .5 appearing in the algorithm minimize execution time on the particular machine used. SELECT has been shown to run in time asymptotically proportional to N + min (I, N-I), where N = L - R + 1 and I = K - L + 1. A lower bound on the running time within 9 percent of this value has also been proved [2]. Sites [3] has proved SELECT terminates.




The Bose-Nelson Sorting Problem††The preparation of this report has been supported in part by the National Science Foundation, and in part by the Office of Naval Research.

December 1973

·

14 Reads

·

13 Citations

This chapter discusses the Bose–Nelson sorting problem. This chapter illustrates a typical sorting network for four numbers; the network involves five comparators, shown as directed wires connecting two lines. Four numbers are input at the left, and as they move toward the right, each comparator causes an interchange of two numbers if necessary so that the larger number appears at the point of the arrow. At the right of the network, the numbers have been sorted into nondecreasing order from top to bottom; it is easy to verify that this would be the case no matter what numbers are input, because the first four comparators select the smallest and the largest elements and the final comparator ranks the middle two. Bose and Nelson gave an upper bound for S(n), and conjectured that their method actually gave S(n) exactly; but subsequent constructions have shown that their upper bound can be improved for all n > 8. However, the methods of proof used to establish the lower bounds on S(n) are quite unsatisfactory for larger values of n.


Time Bounds for Selection

August 1973

·

60 Reads

·

1,269 Citations

Journal of Computer and System Sciences

·

Robert W. Floyd

·

·

[...]

·

The number of comparisons required to select the i-th smallest of n numbers is shown to be at most a linear function of n by analysis of a new selection algorithm—PICK. Specifically, no more than 5.4305 n comparisons are ever required. This bound is improved for extreme values of i, and a new lower bound on the requisite number of comparisons is also proved.






Citations (13)


... As a solution to this problem, other faster sorting algorithms such as SELECT [54] or SORT [55] can be used as a solution to this problem. ...

Reference:

Critical Analysis of Beta Random Variable Generation Methods
Algorithm 489: The algorithm SELECT—for finding the ith smallest of n elements [M1]
  • Citing Article
  • March 1975

Communications of the ACM

... Then the resulting flow diagram cannot be expected to be more transparent than the original one" [2]. Indeed, in their original paper, Böhm and Jacopini conjectured, and Floyd and Knuth later proved [23], that the auxiliary variables form a critical part of this proof-there are some programs which cannot be 'structured' without additional variables. Lemma 4.3, originally proved in [8] and reproved in [10], [24], [1], has similarly been used as a theoretical justification for structuring control architectures as BTs. ...

Notes on avoiding “go to” statements
  • Citing Article
  • June 1972

Information Processing Letters

... Formally, Theorem 2.4 follows from a result in [Schmid et al. 2021, Appendix D]; we will explain more in Section 4. A different program inexpressible in GKAT forms the main result of [Kozen and Tseng 2008]; part of the reason why this program is not expressible can already be found in [Ashcroft and Manna 1972;Knuth and Floyd 1971], although this is not formalized in KAT. ...

Notes on avoiding GOTO statements
  • Citing Article
  • February 1971

Information Processing Letters

... But finding the real median is expensive; at it basics, it requires the array to be sorted in the first place. There exists better algorithms like the Floyd-Rivest algorithm [8] which has 3 a running time of O(n), specifically it requires about 1.5n comparisons. Unfortunately even those fast methods are not applicable for sorting since Quicksort needs to determine a median at every recursive stage in its call tree which would result in more than doubling the number of comparisons at each stage. ...

Algorithm 489: the algorithm SELECT---for finding the elements [M1]
  • Citing Article
  • January 1975

... It follows that we can perform the steps 1. and 2. in O(|F (r T )|) time. To find S in the case of additive utilities, we only need to find ℓ i many largest valued agents in F (r T ), which can be done in linear time [13]. The distribution of agents in F (r T ) to parts in step 5. can also be straightforwardly done in time O(|F (r T )|). ...

Time Bounds for Selection
  • Citing Article
  • August 1973

Journal of Computer and System Sciences

... the following corollary by setting B D 6k, R D d16 ln.1=ı/e. The query time follows since the median of T numbers can be found in linear time O.T /[8]. ...

Linear Time Bounds for Median Computations
  • Citing Conference Paper
  • Full-text available
  • January 1972

... We give a conceptual review of transposing a matrix with vector instructions. The idea was introduced by [Flo72] under the context of permuting with pages and more recently by [War12, Section 7.3] for permuting bit matrices. It was also used in [NG21, BBCT22, BHK + 22b, CCHY24, Hwa24, HLY24] for vectorized polynomial multiplications. ...

Permuting Information in Idealized Two-Level Storage
  • Citing Conference Paper
  • January 1972