Anbefalet, 2024

Redaktørens Valg

Forskel mellem sorterings sortering og valg sortering

Sortering og sortering af sortering er de teknikker, der bruges til at sortere dataene. Størrelsen af ​​indsætnings sorter og valg sorter kan differentieres ved den metode, de bruger til at sortere dataene. Indsætnings sorteringen indsætter værdierne i en forudbestemt fil for at sortere et sæt værdier. På den anden side finder sorterings sorter minimumsnummeret fra listen og sorterer det i en vis rækkefølge.

Sortering er en grundlæggende operation, hvor elementerne i et array er arrangeret i en bestemt rækkefølge for at forbedre dets søgbarhed. I enkle ord sorteres dataene, så det let kan søges.

Sammenligningstabel

Grundlag for sammenligningIndsætnings sorteringValg Sorter
Grundlæggende
Dataene sorteres ved at indsætte dataene i en eksisterende sorteret fil.Dataene sorteres ved at vælge og placere de på hinanden følgende elementer i sorteret placering.
Natur
stabilUstabil
Fremgangsmåde, der skal følges
Elementer er kendt på forhånd, mens placering for at placere dem søges.Placering er tidligere kendt, mens elementer søges.
Umiddelbare data
Insertion sort er live sortering teknik, der kan beskæftige sig med øjeblikkelige data.Det kan ikke beskæftige sig med øjeblikkelige data, det skal være til stede i starten.
Bedste tilfælde kompleksitetPå)O (n2)

Definition af Insertion Sort

Indsætnings sorter fungerer ved at indsætte værdisættet i den eksisterende sorteret fil. Det konstruerer den sorterede array ved at indsætte et enkelt element ad gangen. Denne proces fortsætter, indtil hele arrayet er sorteret i nogen rækkefølge. Det primære koncept bag indsættelsestype er at indsætte hvert emne på sit passende sted i den endelige liste. Indsætningssortemetoden gemmer en effektiv mængde hukommelse.

Arbejde med indsætnings sorteringen

  • Det bruger to sæt arrays hvor man lagrer de sorterede data og andre på usorterede data.
  • Sorteringsalgoritmen virker, indtil der er elementer i det usorterede sæt.
  • Lad os antage, at der er 'n' talelementer i arrayet. Indledningsvis findes elementet med indeks 0 (LB = 0) i det sorterede sæt. Resterende elementer findes i den usorterede partition på listen.
  • Det første element i den usorterede del har arrayindeks 1 (Hvis LB = 0).
  • Efter hver iteration vælger den det første element i den usorterede partition og indsætter den på det rette sted i det sorterede sæt.

Fordele ved Insertion sort

  • Nemt implementeret og meget effektiv, når den bruges sammen med små sæt data.
  • Det ekstra lagerpladsbehov for indsættelsessortering er mindre (dvs. O (1)).
  • Det anses for at være levende sorteringsmetode, da listen kan sorteres efterhånden som de nye elementer modtages.
  • Det er hurtigere end andre sorteringsalgoritmer.

Eksempel:

Definition af valg sortering

Valget Sortering udfører sortering ved at søge efter minimumsværdienummeret og placere det i første eller sidste position i henhold til ordren (stigende eller faldende). Processen med at søge minimale nøgle og placere den i den rigtige position fortsættes, indtil alle elementerne er placeret i rigtig position.

Arbejde med udvælgelsessorteringen

  • Antag et array ARR med N elementer i hukommelsen.
  • I den første passage søges den mindste nøgle sammen med sin position, så ARR [POS] byttes med ARR [0]. Derfor er ARR [0] sorteret.
  • I den anden passage bestemmes positionen af ​​den mindste værdi i underarrayet af N-1 elementer. Udveksle ARR [POS] med ARR [1].
  • I passet N-1 udføres den samme proces for at sortere N-nummeret af elementer.

Eksempel:

Nøgleforskelle mellem sortering af sortering og valg af sortering

  1. Indsætnings sorteringen udfører normalt indsætningen. Tværtimod udfører sorterings sorter udvælgelsen og placeringen af ​​de krævede elementer.
  2. Indsætnings sorter siges at være stabile, mens valg sortering ikke er en stabil algoritme.
  3. I indføringssortalgoritmen er elementerne tidligere kendt. I modsætning hertil indeholder sorterings sorteringen placeringen på forhånd.
  4. Indsætningssort er en levende sorteringsteknik, hvor de ankomne elementer straks sorteres i listen, mens valg sortering ikke kan fungere godt med øjeblikkelige data.
  5. Indsætnings sorteringen har O (n) driftstid i bedste fald. Modsat er det bedste tilfælde at løbe tidskompleksiteten af ​​udvalgssortet O (n2).

Kompleksiteten af ​​indsættelsestype

Den bedst mulige kompleksitet af indsættelsestype er O (n) gange, dvs. når arrayet tidligere er sorteret. På samme måde, når arrayet er sorteret i omvendt rækkefølge, skal det første element i det usorterede array sammenlignes med hvert element i det sorterede sæt. Så i værste fald er kørselstiden for Insertion sort quadratisk, dvs. O (n2) . I gennemsnit skal det også lave mindste (k-1) / 2 sammenligninger. Derfor har den gennemsnitlige sag også kvadratisk driftstid O (n2).

Kompleksiteten af ​​udvælgelsessorteringen

Som arbejdet med udvælgelse afhænger sorteringen ikke af den oprindelige rækkefølge af elementerne i arrayet, så der er ikke meget forskel mellem bedste tilfælde og værste tilfælde kompleksitet af valg sortering.

Valget sorterer vælger mindste værdi element, i udvælgelsesprocessen bliver alle 'n' antal elementer scannet; derfor foretages n-1 sammenligninger i første pass. Derefter byttes elementerne. På samme måde i det andet pass også for at finde det andet mindste element, kræver vi scanning af resten n-1 elementer, og processen fortsættes indtil hele sorteringen sorteres.

Således er kørestidskompleksiteten af ​​udvalgssortet O (n2) .
= (n-1) + (n-2) + ......... .. + 2 + 1
= n (n-1) / 2 = 0 (n2)

Konklusion

Blandt begge sorteringsalgoritmen er indsættelsessorteringen hurtig, effektiv og stabil, mens valg sortering kun virker effektivt, når det lille sæt elementer er involveret eller listen er delvist sorteret tidligere. Antallet af sammenligninger foretaget ved valg sortering er større end de udførte bevægelser, mens i indsættelse sortere antallet af gange et element er flyttet eller byttet er større end sammenligningerne foretaget.

Top