Bellen sorteren versus invoegsortering
Belsortering is een sorteeralgoritme dat werkt door door de lijst te gaan om herhaaldelijk te worden gesorteerd, terwijl paren van aangrenzende elementen worden vergeleken. Als een paar elementen in de verkeerde volgorde staan, worden ze geruild om ze in de juiste volgorde te plaatsen. Dit traject wordt herhaald totdat er geen nieuwe swaps meer nodig zijn. Invoegsortering is ook een sorteeralgoritme, dat werkt door een element in de invoerlijst in te voegen in de juiste positie in een lijst die al is gesorteerd. Dit proces wordt herhaaldelijk toegepast totdat de lijst is gesorteerd.
Wat is Bubble Sort?
Belsortering is een sorteeralgoritme dat werkt door door de lijst te gaan om herhaaldelijk te worden gesorteerd, terwijl paren van aangrenzende elementen worden vergeleken. Als een paar elementen in de verkeerde volgorde staan, worden ze geruild om ze in de juiste volgorde te plaatsen. Dit traject wordt herhaald totdat er geen nieuwe swaps meer nodig zijn (wat betekent dat de lijst is gesorteerd). Aangezien de kleinere elementen in de lijst naar de top komen als een bubbel naar de oppervlakte komt, krijgt deze de naam bubbelsoort. Belsortering is een zeer eenvoudig sorteeralgoritme, maar het heeft een gemiddelde complexiteit van de ogenblattijd van O (n2) bij het sorteren van een lijst met n elementen. Hierdoor is bellen met bellen niet geschikt voor het sorteren van lijsten met een groot aantal elementen. Maar vanwege de eenvoud wordt bellen met bellen geleerd tijdens introducties aan algoritmen.
Wat is Insertion Sort?
Insertion sort is een ander sorteeralgoritme, dat werkt door een element in de invoerlijst in te voegen in de juiste positie in een lijst (die al is gesorteerd). Dit proces wordt herhaaldelijk toegepast totdat de lijst is gesorteerd. Bij invoegsortering wordt het sorteren ter plaatse uitgevoerd. Daarom worden na de it it iteratie van het algoritme de eerste i + 1-items in de lijst gesorteerd en de rest van de lijst wordt ongesorteerd. Bij elke iteratie wordt het eerste element in het ongesorteerde deel van de lijst genomen en ingevoegd op de juiste plaats in het gesorteerde gedeelte van de lijst. Insertion sort heeft een gemiddelde complexiteit van de case-time van O (n2). Hierdoor is invoegsortering ook niet geschikt voor het sorteren van grote lijsten.
Wat is het verschil tussen Bubble Sort en Insertion Sort?
Hoewel beide algoritmen voor bellen en invoegen sorteren gemiddelde complexiteiten van O (n2) hebben, wordt het bellen van bellen bijna altijd beter gedaan dan de invoegtypen. Dit is te wijten aan het aantal swaps dat nodig is voor de twee algoritmen (bubble sorteert vereist meer swaps). Maar vanwege de eenvoud van het bellen, is de code erg klein. Er is ook een variant van de insertiesoort, de shell-sortering, die een tijdcomplexiteit van O (n3 / 2) heeft, waardoor deze praktisch kan worden gebruikt. Bovendien is invoegsortering zeer efficiënt voor het sorteren van "bijna gesorteerde" lijsten in vergelijking met de bubbelsoort.