Python heeft een heleboel voorgeprogrammeerde functies die lijsten kunnen sorteren, maar hoe werken deze nu precies? Start steeds met dezelfde lijst en probeer zelf een paar sorteeralgoritmes na te maken.

Je kan deze lijst gebruiken:

[99, 11, 69, 88, 36, 22, 82, 14, 18, 39, 37, 89, 43, 65, 70, 53, 55, 68, 28, 90, 4, 2, 13, 19, 27, 47, 1, 84, 87, 5, 63, 52, 15, 77, 85, 59, 8, 46, 62, 98, 32, 97, 95, 73, 6, 66, 93, 78, 71, 94, 31, 58, 74, 80, 54, 92, 61, 42, 96, 30, 3, 12, 44, 25, 83, 72, 9, 34, 20, 7, 49, 67, 48, 16, 60, 33, 57, 76, 26, 75, 64, 51, 29, 21, 35, 10, 56, 41, 86, 23, 91, 24, 100, 45, 38, 81, 79, 50, 17, 40]

Opgave

Programmeer zelf volgende sorteeralgoritmes: Bubblesort1, Insertion sort2, Quicksort3 & Mergesort4. Probeer ook bij elk algoritme te timen hoe lang het duurt om de lijst te sorteren en bekijk of dit een verwacht resultaat geeft. Zoek hierna ook een voorbeeld van een lijst die slecht werkt voor elk sorteeralgoritme. (Meestal is quicksort bijvoorbeeld sneller dan bubblesort, zoek een lijst waarbij dit niet het geval is).