Abstract
Text books, including books for general audiences, invariably mention bubble sort in discussions of elementary sorting algorithms. We trace the history of bubble sort, its popularity, and its endurance in the face of pedagogical assertions that code and algorithmic examples used in early courses should be of high quality and adhere to established best practices. This paper is more an historical analysis than a philosophical treatise for the exclusion of bubble sort from books and courses. However, sentiments for exclusion are supported by Knuth [17], "In short, the bubble sort seems to have nothing to recommend it, except a catchy name and the fact that it leads to some interesting theoretical problems." Although bubble sort may not be a best practice sort, perhaps the weight of history is more than enough to compensate and provide for its longevity.
- The jargon file. http://www.jargon.net/jargonfile/b/bogo-sort.html.Google Scholar
- Aho, A. V., Hopcroft, J. E., and Ullman, J. D. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974. Google Scholar
Digital Library
- Bell, D. The principles of sorting. The Computer Journal 1 (1958), 71--77.Google Scholar
Cross Ref
- Bose, R. C., and Nelson, R. J. A sorting problem. Journal of the ACM (JACM) 9, 2 (1962), 282--296. Google Scholar
Digital Library
- Cooper, D. Oh My! Modula-2! W.W. Norton, 1990.Google Scholar
- Dale, N., and Lewis, J. Computer Science Illuminated. Jones and Bartlett, 2002. Google Scholar
Digital Library
- Demuth, H. Electronic Data Sorting. PhD thesis, Stanford University, 1956.Google Scholar
- Demuth, H. personal communication. 2000.Google Scholar
- Flores, I. Analysis of internal computer sorting. Journal of the ACM (JACM) 8, 1. Google Scholar
Digital Library
- Friend, E. Sorting on electronic computer systems. J. ACM 3 (1956), 134--168. Google Scholar
Digital Library
- Gotlieb, C. Sorting on computers. Communications of the ACM 6, 5 (May 1963), 194--201. Google Scholar
Digital Library
- Halstead, M. H. Elements of Software Science, Operating, and Programming Systems Series, vol. 7. Elsevier, 1977. Google Scholar
Digital Library
- Iverson, K. A Programming Language. John Wiley, 1962. Google Scholar
Digital Library
- Juelich, O. Remark on algoirthm 175 shuttle sort. Communications of the ACM 6, 12 (December 1963), 739. Google Scholar
Digital Library
- Kernighan, B. W., and Plauger, P. Software Tools. Addison-Wesley, 1976. Google Scholar
Digital Library
- Klerlein, J. B., and Fullbright, C. A transition from bubble sort to shell sort. In The Papers of the Nineteenth Technical Symposium on Computer Science Eduction (February 1988), ACM Press, pp. 183--184. SIGCSE Bulletin V. 20 N. 1. Google Scholar
Digital Library
- Knuth, D. The Art of Computer Programming: Sorting and Searching, 2 ed., vol. 3. Addison-Wesley, 1998. Google Scholar
Digital Library
- Knuth, D. E. The dangers of computer science theory. Logic, Methodology and Philosophy of Science 4 (1973). Also in Selected Papers on Analysis of Algorithms, CLSI, 2000.Google Scholar
- Ledley, R. Programming and Utilizing Digital Computers. McGraw-Hill, 1962.Google Scholar
- Martin, W. A. Sorting. ACM Computing Surveys 3, 4 (1971), 147--174. Google Scholar
Digital Library
- McCracken, D., Weiss, H., and Lee, T. Programming Business Computers. John Wiley, 1959.Google Scholar
- Organick, E. I. A Fortran Primer. Addison-Wesley, 1963. Google Scholar
Digital Library
- Press, W. H., Flannery, B. P., Teukolsky, S. A., and Vetterling, W. T. Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, 1988. Google Scholar
Digital Library
- Sedgewick, R. Algorithms in C++, 3~ed. Addison-Wesley, 1998. Google Scholar
Digital Library
- Shaw, C., and Trimble, T. Algorithm 175: Shuttle sort. Communications of the ACM 6, 6 (June 1963), 312--313. Google Scholar
Digital Library
- Stanat, D. F., and McAllister, D. F. Discrete Mathematics in Computer Science. Prentice-Hall, 1977. Google Scholar
Digital Library
- Vitter, J., and Flajolet, P. Average-case analysis of algorithms and data structures. In Handbook of Theoretical Computer Science. Volume A, J. van Leeuwen, Ed. MIT Press, 1990. Google Scholar
Digital Library
Index Terms
Bubble sort: an archaeological algorithmic analysis
Recommendations
Bubble sort: an archaeological algorithmic analysis
SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science educationText books, including books for general audiences, invariably mention bubble sort in discussions of elementary sorting algorithms. We trace the history of bubble sort, its popularity, and its endurance in the face of pedagogical assertions that code and ...
RVA Sorting Based On Bubble & Quick Sort Technique
ICTCS '14: Proceedings of the 2014 International Conference on Information and Communication Technology for Competitive StrategiesIn the new era of computer science, sorting algorithm is an efficient algorithm which performs an important task that place elements of a list in some order or arrange a set of items into a specific order. Sorting data has been developed to arrange the ...
Non-Partitioning Merge-Sort: Performance Enhancement by Elimination of Division in Divide-and-Conquer Algorithm
ICTCS '16: Proceedings of the Second International Conference on Information and Communication Technology for Competitive StrategiesThe importance of a high performance sorting algorithm with low time complexity cannot be over stated. Several benchmark algorithms viz. Bubble Sort, Insertion Sort, Quick Sort, and Merge Sort, etc. have tried to achieve these goals, but with limited ...





Comments