JUMBLE: heap FANTASY: selection ALLIGATOR: merge CROCODILE: quick QUIRK: bubble DWARVEN: insertion * DISCOVER Bubble sort: [D I S C O V E R] |D I|S C O V E R D|I S|C O V E R D I|C S|O V E R D I C|O S|V E R D I C O|S V|E R D I C O S|E V|R D I C O S E|R V| |D I|C O S E R V D|C I|O S E R V D C|I O|S E R V D C I|O S|E R V D C I O|E S|R V D C I O E|R S|V |C D|I O E R S V C|D I|O E R S V C D|I O|E R S V C D I|E O|R S V C D I E|O R|S V |C D|I E O R S V C|D I|E O R S V C D|E I|O R S V C D E|I O|R S V |C D|E I O R S V C|D E|I O R S V C D|E I|O R S V //no swap on this pass, so end [C D E I O R S V] Insertion sort: [D I S C O V E R] D|I S C O V E R D I|S C O V E R D I S|C O V E R C D I S|O V E R C D I O S|V E R C D I O S V|E R C D E I O S V|R C D E I O R S V| [C D E I O R S V] Selection sort: [D I S C O V E R] |D I S C O V E R C|I S D O V E R C D|S I O V E R C D E|I O V S R C D E I|O V S R C D E I O|V S R C D E I O R|S V C D E I O R S|V C D E I O R S V| [C D E I O R S V] * FOUNDER Merge sort: [F O U N D E R] |F O U N|D E R |F O|U N|D E R |F|O|U|N|D E R |F O|U|N|D E R |F O|N U|D E R |F N O U|D E R F N O U|D E|R| F N O U|D|E|R| F N O U|D E|R| F N O U|D E R |D E F N O R U| [D E F N O R U] Quick sort: [F O U N D E R] F O U N!D E R } F O U R D E|N! } //details of partitioning around pivot F D E|O U R|N } F D E|N|U R O D|E F|N|U R O D|E|F|N|U R O D|E|F|N|O|R|U [D E F N O R U] Heap sort: [F O U N D E R] F O U|N D E R //convert to max heap... F O|U N D E R F R|U N D E O F|R U N D E O U|R F N D E O U|R O N D E F U R O N D E F //...done F R O N D E|U //swap R F O N D E|U R N O F D E|U E N O F D|R U //swap O N E F D|R U D N E F|O R U //swap N D E F|O R U N F E D|O R U D F E|N O R U //swap F D E|N O R U E D|F N O R U //swap D|E F N O R U //swap [D E F N O R U]