Creative Saplings

Beste sak for boblesortering

januar 20, 2021
No Comments

Bubble Sort regnes som en av de enkleste sorteringsalgoritmene som fungerer ved å bytte tilstøtende elementer gjentatte ganger hvis de er i feil rekkefølge. Med en boble sorteringsalgoritme vil du kunne se at det største elementet (forutsatt at vi sorterer fra minste til største) vil «boble» opp til toppen av listen eller matrisen.

Eksempel:
Anta at vi ønsker å sortere en liste eller en rekke elementer i stigende rekkefølge (fra minste til største): Liste = (3,1,2)

Siden ingen bytting skjedde, forteller dette oss at matrisen er allerede sortert i stigende rekkefølge!

Beste sak

La oss nå prøve den samme algoritmen igjen, men denne gangen ved å bruke best case-scenariet, som er når elementene allerede er sortert i rekkefølgen ( stigende) vil vi like.

Siden ingen bytte skjedde, er vi ferdige, og algoritmen gjorde bare to sammenligninger og antall elementer i matrisen vi vil kalle n = 3. Så vi kan se at for n elementer denne algoritmen vil i beste tilfelle bare ta n-1 sammenligninger, n-1 = O (n)

Prosedyren eller algoritmen vi brukte er nedenfor:

Denne algoritmen bruker et flagg for å fortelle om elementene er byttet ut eller ikke , som gjør at boble sorteringsalgoritmen i beste tilfelle kan være O (n) i stedet for O (n²) som en annen implementering av boble sortering.

Algoritmen ovenfor
Verste sak = O (n²)
Beste sak = O (n)

Få C-koden her: https://github.com/randerson112358/C-Programs/blob/master/BubbleSort2.c

La oss se på en annen implementering av boblesorteringsalgoritmen:

BUBBLESORT(A)
1 for i = 1 to A.length - 1
2 for j = A.length downto i + 1
3 if A < A
4 exchange A with A

Den ovennevnte algoritmen
Verste sak = O (n²)
Beste sak = O (n²)

Verste sak

La oss sortere en matrise eller liste = (3,2,1), dette vil være det verste tilfellet der listen er i helt motsatt rekkefølge enn den vi ønsker (i stigende rekkefølge) ved hjelp av algoritmen ovenfor.

First Pass:
(3,2,1) – > Sammenlign elementene 3 & 2
(2,3 , 1) – > Bytt 3 & 2 siden 2 < 3
( 2,3,1) – > Sammenlign elementene 3 & 1
(2,1,3) – > Bytt 1 & 3 siden 1 < 3

Second Pass:
(2,1,3) – > Sammenlign elementene 2 & 1
(1,2,3) – > Bytt 2 & 1 siden 1 < 2
(1,2,3) – > Sammenlign elementer 2 & 3
(1,2,3) – > Ingen bytte er nødvendig siden 2 < 3

Vi er nå ferdig med å sløyfe gjennom begge sløyfene, så matrisen må sorteres i stigende rekkefølge.

Legg merke til at vi gjorde 4 sammenligninger i det andre eksemplet ovenfor, og antall elementer i matrisen vi vil kalle ‘n’ = 3, så antall sammenligninger som er gjort er (n-1) ², og (n-1) ² = O (n²)

Få koden her:

Også en flott bok for å forberede deg på koding / programmering intervjuer kalles cracking the coding interview. Det vil hjelpe deg å bli kjent med sorteringsalgoritmer og problemløsing, så husk å sjekke det ut!

Cracking The Coding Interview

Takk for at du leser denne artikkelen. Jeg håper det er nyttig for dere alle! Fortsett å lære, og hvis du vil ha flere videoer med algoritmeanalyse, kan du gå til og abonnere på YouTube-kanalene mine (randerson112358 & compsci112358)

Ta en titt på følgende for mer innhold / videoer om algoritmeanalyse og programmering:

YouTube-kanal:
randerson112358: https://www.youtube.com/channel/UCaV_0qp2NZd319K4_K8Z5SQ

compsci112358:

Nettsted:

Videotutorials om gjentakelsesrelasjon:

Video Tutorial on Algorithm Analysis:

Twitter:

Articles
Previous Post

Hvordan beregne matkostnadene i 2020 (The Ultimate Guide)

Next Post

vegetabilsk pakora (Norsk)

Legg igjen en kommentar Avbryt svar

Siste innlegg

  • De beste fotografiskolene i verden, 2020
  • Suverene borgere tar sin regjeringsfilosofi til veiene
  • Veiledning for stukkaturreparasjon
  • Muckrakers (Norsk)
  • Precision Oncology (Norsk)

Arkiv

  • februar 2021
  • januar 2021
  • desember 2020
  • november 2020
  • oktober 2020
  • september 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.