Interval Sorting

  • Rosa M. Jiménez
  • Conrado Martínez
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6198)

Abstract

In the interval sort problem, we are given an array A of n items and p ranges of ranks I1 = [ℓ1,u1], ..., Ip = [ℓp,up]. The goal is to rearrange the array so that A[ℓt..ut] contains the ℓt-th, ..., ut-th smallest elements of A in nondecreasing order, for all t, 1 ≤ t ≤ p, and A[ut + 1..ℓt + 1− 1] contains the (ut + 1), ..., (ℓt + 1− 1) smallest elements of A, for all t, 0 ≤ t ≤ p. That is, the array is sorted by blocks, with sorted and unsorted blocks alternating. One of the most interesting aspects of this research is the unification of several important and related problems (sorting, selection, multiple selection, partial sorting) under a single framework. Results on interval sorting generalize the results for any of these particular—and fundamental—problems.

We propose a divide-and-conquer algorithm, owing to quicksort and quickselect, named chunksort, to solve the problem. We give an exact expression for the average number of comparisons made by the basic variant of chunksort. Then we consider what is the expected optimal number of comparisons needed to solve an interval sort instance and we design a variant of chunksort that achieves near optimal expected performance, up to n + o(n) comparisons. In fact, we conjecture that the algorithm that we propose has actually optimal expected performance up to o(n) terms and provide some evidence for this conjecture.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Blum, M., Floyd, R., Pratt, V., Rivest, R., Tarjan, R.: Time bounds for selection. J. Comp. Syst. Sci. 7, 448–461 (1973)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Hoare, C.: Find (Algorithm 65). Comm. ACM 4, 321–322 (1961)CrossRefGoogle Scholar
  3. 3.
    Hoare, C.: Quicksort. Computer Journal 5, 10–15 (1962)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Kaligosi, K., Mehlhorn, K., Munro, J., Sanders, P.: Towards optimal multiple selection. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 103–114. Springer, Heidelberg (2005)Google Scholar
  5. 5.
    Kuba, M.: On quickselect, partial sorting and multiple quickselect. Inform. Process. Lett. 99(5), 181–186 (2006)MATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Martínez, C.: Partial quicksort. In: Arge, L., Italiano, G., Sedgewick, R. (eds.) Proc. of the 6th ACM-SIAM Workshop on Algorithm Engineering and Experiments (ALENEX) and the 1st ACM-SIAM Workshop on Analytic Algorithmics and Combinatorics (ANALCO), pp. 224–228 (2004)Google Scholar
  7. 7.
    Martínez, C., Panario, D., Viola, A.: Adaptive sampling for quickselect. In: Proc. of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 440–448 (2004)Google Scholar
  8. 8.
    Martínez, C., Roura, S.: Optimal sampling strategies in quicksort and quickselect. SIAM J. Comput. 31(3), 683–705 (2001)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Mehlhorn, K.: Data Structures and Efficient Algorithms. Sorting and Searching, vol. 1. Springer, Heidelberg (1984)Google Scholar
  10. 10.
    Prodinger, H.: Multiple Quickselect — Hoare’s Find algorithm for several elements. Inform. Process. Lett. 56(3), 123–129 (1995)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Yao, F.: Efficient dynamic programming using quadrangle inequalities. In: Proc. of the 12th Annual ACM Symposium on the Theory of Computing (STOC), pp. 429–435 (1980)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Rosa M. Jiménez
    • 1
  • Conrado Martínez
    • 1
  1. 1.Departament de Llenguatges i Sistemes InformàticsUniversitat Politècnica de CatalunyaBarcelonaSpain

Personalised recommendations