Differences From Bubble Sort
Cocktail sort is a slight variation of bubble sort. It differs in that instead of repeatedly passing through the list from bottom to top, it passes alternately from bottom to top and then from top to bottom. It can achieve slightly better performance than a standard bubble sort. The reason for this is that bubble sort only passes through the list in one direction and therefore can only move items backward one step each iteration.
An example of a list that proves this point is the list (2,3,4,5,1), which would only need to go through one pass of cocktail sort to become sorted, but if using an ascending bubble sort would take four passes. However one cocktail sort pass should be counted as two bubble sort passes. Typically cocktail sort is less than two times faster than bubble sort.
Another optimization can be that the algorithm remembers where the last actual swap has been done. In the next iteration, there will be no swaps beyond this limit and the algorithm has shorter passes. As the Cocktail sort goes bidirectionally, the range of possible swaps, which is the range to be tested, will reduce per pass, thus reducing the overall running time.
Read more about this topic: Cocktail Sort
Famous quotes containing the words differences, bubble and/or sort:
“Traveling, you realize that differences are lost: each city takes to resembling all cities, places exchange their form, order, distances, a shapeless dust cloud invades the continents.”
—Italo Calvino (19231985)
“While this America settles in the mould of its vulgarity, heavily
thickening to empire,
And protest, only a bubble in the molten mass, pops and sighs out,
and the mass hardens,”
—Robinson Jeffers (18871962)
“... and the next summer she died in childbirth.
Thats all. Of course, there may be some sort of sequel but it is not known to me. In such cases instead of getting bogged down in guesswork, I repeat the words of the merry king in my favorite fairy tale: Which arrow flies for ever? The arrow that has hit its mark.”
—Vladimir Nabokov (18991977)