Difference between revisions of "W1352 Bubble Sort"

From Coder Merlin
m (Merlin moved page Project-1851 to W1852 Bubble Sort: Improved navigation)
m (Merlin moved page W1852 Bubble Sort to W1352 Bubble Sort without leaving a redirect: Improved navigation)

Revision as of 17:33, 29 March 2020

Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder

DRAFT ICON

Research[edit]


Exercises[edit]

  1. Practice with Playing Cards
    1. Shuffle a “deck” of 13 cards.
    2. Lay out every card in the deck, horizontally, face-up, from left-to-right.
    3. Record the ordering of the deck on a tracking sheet.
    4. Place a two-headed pointer on the left-hand side so that it’s pointing at the first and second card.
    5. If the first card is greater in value than the second card, swap the two cards. If a swap occurs, make a tick mark on the tracking sheet.
    6. Whether a swap occurred or not, advance the pointer forward (to the right) by one card, so that it’s now pointing at the second and third cards.
    7. Again make a comparison following the above rules for swapping.
    8. Continue to track any swaps that occur and advance the pointer until reaching the right-end side of the deck.
    9. At this point, the first pass has completed. Record the number of swaps that occurred during this pass.
    10. If any swaps occurred during the pass, begin a new pass by repeating this procedure, moving the pointer back to the beginning on the far, left-hand side and moving to the right again.
    11. When no swaps have occurred during a pass, you’re done.
  2. Complete Merlin exercise 1851

Quiz[edit]

1 Bubble sort is too slow and impractical for most problems.

True
False

2 Bubble sort is most practical if:

Doubles (floating point types) are used rather than integers
Elements are already sorted in reverse order
Elements are in nearly sorted order
The set of elements is very large

3 One advantage of bubble sort is that the ability to detect that the list is sorted is built into the algorithm.

False
True

4 An element that must move toward the end of the list can move quickly because it can take part in successive swaps.

True
False

5 An element that must move toward the beginning of the list can move faster than one step per pass.

False
True

6 Elements move toward the beginning of the list very quickly.

True
False

7 Consider the list: 5 1 4 2 8
After the first swap, the list will be:

1 5 4 2 8
1 4 2 5 8
1 2 4 5 8
1 4 5 2 8

8 Consider the list: 5 1 4 2 8
After the second swap, the list will be:

1 5 4 2 8
1 4 2 5 8
1 2 4 5 8
1 4 5 2 8

9 Consider the list: 5 1 4 2 8
After the third swap, the list will be:

1 2 4 5 8
1 5 4 2 8
1 4 2 5 8
1 4 5 2 8

10 Consider the list: 5 1 4 2 8
After the first pass, the list will be:

1 5 4 2 8
1 4 5 2 8
1 4 2 5 8
1 2 4 5 8

11 Consider the list: 5 1 4 2 8
After the second pass, the list will be:

1 4 5 2 8
1 4 2 5 8
1 5 4 2 8
1 2 4 5 8

12 Consider the list: 5 1 4 2 8
How many passes are required before the algorithm terminates?

Four
Two
Five
Three