Verschil tussen Bubble Sort en Selection Sort

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 13 Kunnen 2024
Anonim
15 Sorting Algorithms in 6 Minutes
Video: 15 Sorting Algorithms in 6 Minutes

Inhoud


Sorteren is een van de belangrijkste taken in computerprogramma's waarin de elementen van een array in een bepaalde volgorde zijn gerangschikt. Sorteren maakt zoeken eenvoudiger. Bellen sorteren en Selectie sorteren zijn de sorteeralgoritmen die kunnen worden onderscheiden door de methoden die ze gebruiken voor het sorteren. Belsortering wisselt in wezen de elementen uit, terwijl selectiesortering het sorteren uitvoert door het element te selecteren.

Een ander aanzienlijk verschil tussen de twee is dat de bubbelsoort een stabiel algoritme is, terwijl de selectiesoort een onstabiel algoritme is. Een algoritme wordt beschouwd als stabiel waarbij de elementen met dezelfde sleutel voorkomen in dezelfde volgorde als vóór het sorteren in de lijst of array. Over het algemeen gebruiken de meeste stabiele en snelle algoritmen extra geheugen.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingBellen soort
Selectie sorteren
basis-Aangrenzend element wordt vergeleken en verwisseldHet grootste element is geselecteerd en verwisseld met het laatste element (in oplopende volgorde).
Beste tijd complexiteitAan)Aan2)
rendementInefficiëntVerbeterde efficiëntie in vergelijking met bubbelsortering
StalJaNee
MethodeuitwisselenSelectie
SnelheidLangzaamSnel in vergelijking met bubbelsortering


Definitie van Bubble Sort

Bellen soort is het eenvoudigste iteratieve algoritme dat wordt gebruikt door elk item of element te vergelijken met het item ernaast en ze indien nodig te verwisselen. In eenvoudige woorden, het vergelijkt het eerste en tweede element van de lijst en verwisselt het, tenzij ze niet in een specifieke volgorde staan. Evenzo worden het tweede en derde element vergeleken en geruild, en dit vergelijken en ruilen gaat door tot het einde van de lijst. Het aantal vergelijkingen in de eerste iteratie is n-1, waarbij n de nummerelementen in een array is. Het grootste element zou na de eerste iteratie op de negende positie staan. En na elke iteratie neemt het aantal vergelijkingen af ​​en uiteindelijk vindt slechts één vergelijking plaats.


Dit algoritme is het langzaamste sorteeralgoritme. De beste case-complexiteit (wanneer de lijst in volgorde is) van de soort Bubble is van orde n (Aan)), en de worst case-complexiteit is Aan2). In het beste geval is het van orde n omdat het alleen de elementen vergelijkt en niet verwisselt. Deze techniek vereist ook extra ruimte om de tijdelijke variabele op te slaan.

Definitie van selectie sorteren

Selectie sorteren heeft iets betere prestaties behaald en is efficiënter dan het soort bubbelsoort. Stel dat we een array in oplopende volgorde willen rangschikken, dan functioneert deze door het grootste element te vinden en het te vervangen door het laatste element, en herhaalt u het volgende proces op de subarrays totdat de hele lijst is gesorteerd.

Bij selectiesortering maakt de gesorteerde en ongesorteerde array geen verschil en verbruikt deze een orde van n2 (Aan2)) zowel in het beste als in het slechtste geval. Selectie sorteren is sneller dan bellen sorteren.

  1. In de bubbelsoort worden elk element en het aangrenzende element vergeleken en indien nodig verwisseld. Aan de andere kant werkt selectie sorteren door het element te selecteren en dat specifieke element met het laatste element te verwisselen. Het geselecteerde element kan het grootst of het kleinst zijn, afhankelijk van de volgorde, d.w.z. oplopend of aflopend.
  2. De complexiteit in het slechtste geval is hetzelfde in beide algoritmen, d.w.z. O (n2), maar de beste complexiteit is anders. Belsortering neemt een volgorde van n tijd aan, terwijl selectie sorteren een volgorde van n gebruikt2 tijd.
  3. Belsortering is een stabiel algoritme, daarentegen is selectiesoort instabiel.
  4. Selectie sorteeralgoritme is snel en efficiënt in vergelijking met bubbelsortering die erg langzaam en inefficiënt is.

Gevolgtrekking

Bellen sorteeralgoritme wordt beschouwd als het meest eenvoudige en inefficiënte algoritme, maar selectie sorteeralgoritme is efficiënt in vergelijking met bubbelsortering. Bubbelsoort verbruikt ook extra ruimte voor het opslaan van tijdelijke variabelen en heeft meer swaps nodig.