Dijeta... Dlaka Pribor

Algoritmi i strukture podataka. Sortiranje niza metodom izravnog uključivanja Sortiranje metodom izravnog uključivanja c

Potrebne definicije i klasifikacija sortiranja.

Sortiranje. Potrebne definicije i klasifikacija sortiranja. Izravno uključivanje i odabir sortiranja. Njihova učinkovitost

Sortiranje– ovo je raspored podataka u memoriji u pravilnom obliku prema njihovim ključevima. Stoga je pri obradi podataka važno znati informacijsko polje podataka i njihov položaj u stroju. Stoga razlikuju unutarnje(razvrstavanje u RAM) i vanjsko sortiranje(razvrstavanje u vanjskoj memoriji). Pravilnost Raspored elemenata je povećanje (smanjenje) ključne vrijednosti od početka prema kraju niza.

Ako zapisi koji se sortiraju zauzimaju veliku količinu memorije, tada je njihovo premještanje skupo. Kako biste ih smanjili, koristite metoda sortiranja adresne tablice. Ova metoda se koristi u tablica ključnih adresa. Pokazivači su preuređeni, tj. Sam niz se ne pomiče. Prilikom razvrstavanja mogu se pojaviti identični ključevi. U ovom slučaju, preporučljivo je posložiti identične ključeve nakon sortiranja istim redoslijedom kao u izvornoj datoteci. Ovaj princip se koristi za održivo sortiranje.

Učinkovitost razvrstavanja može se promatrati prema nekoliko kriterija:

1) vrijeme potrošeno na sortiranje;

2) količina RAM-a potrebna za sortiranje;

3) vrijeme koje je programer potrošio na pisanje programa.

Vrijeme potrošeno na sortiranje proporcionalno je broju usporedbi izvedenih tijekom sortiranja i broju pomicanja elemenata.

Vjeruje se da redoslijed usporednog broja tijekom sortiranja može varirati od o(nlogn) prije o(n 2), Gdje na)- idealan i nedostižan slučaj.

Metode sortiranja mogu se grubo klasificirati na sljedeći način:

1) stroge (izravne) metode(učinkovitost im je približno ista):

· izravna veza;

· izravni izbor;

· izravna razmjena;

2) poboljšane metode.

U životu je princip ovog razvrstavanja prisutan kod igranja pasijansa, čišćenja stana, kada je potrebno posložiti hrpu izmiješanih stvari u pravilan redoslijed itd. Za sređivanje podataka primijenjen je vrlo prirodan način sortiranja.

Elementi se mentalno dijele u gotov niz a 1 ,...,a i-1 i izvorni slijed. U gotovom nizu elementi se slažu zadanim redoslijedom (silazni ili uzlazni). I u početnom nizu postoje elementi koje treba sortirati. U svakom koraku elementi izvornog niza smanjuju se za jedan, a gotovi niz povećavaju za jedan. To se događa jer je izvorni niz izdvojen ja- element i prenosi se na gotovu sekvencu, te se umeće na željeno mjesto među elemente gotove sekvence.

Razmotrimo primjer sortiranja metodom izravnog uključivanja na nizu elemenata: 10, 3, 11, 8, 2, 15, 44, 9 (tablica 11.1). Potrebno ga je poredati uzlaznim redoslijedom.

U početku gotov niz nema elemenata. U prvom koraku, prvi element izvornog niza, 10, postaje prvi element gotovog niza. Slijedi drugi korak: element 3 iz originalne sekvence postavlja se u gotovu. Ide ovako. Ako je element veći od 10, onda ostaje na svom mjestu, a ako je manji, tada se 10 pomakne za jednu jedinicu udesno i element se postavi na svoje mjesto. Od 3<10, то готовая последовательность теперь будет иметь вид: 3, 10, а исходная – 11, 8, 2, 15, 44, 9. Далее на третьем шаге из исходной последовательности выбирается 11 и помещается в готовую последовательность. Сначала 11 сравнивается с 10, и так как 11>10, zatim 11 ostaje na mjestu. Izvorni slijed je sada: 8, 2, 15, 44, 9. Sljedeći koraci se izvode na isti način.

Tablica 11.1

Princip rada sortiranja izravnim uključivanjem

Broj koraka u ovom sortiranju (tablica 11.1) jednak je broju elemenata u sortiranom nizu, tj. 8 koraka = 8 elemenata.

Postoje dva načina za implementaciju ove metode - bez barijere (slika 11.1) i s barijerom (slika 11.2).

Sortiranje izravnim uključivanjem, poput jednostavnog sortiranja odabirom, obično se koristi za nizove koji ne sadrže duplikate elemenata.

Sortiranje ovom metodom provodi se uzastopno, korak po korak. Na k-tog koraka smatra se da dio niza koji sadrži prvi k– 1 element je već naručen, tj.

Dalje morate uzeti k th element i odaberite mu mjesto u sortiranom dijelu niza takvo da se nakon njegovog umetanja ne naruši poredak, odnosno treba pronaći takvo da . Zatim morate umetnuti element a(k) na pronađeno mjesto.

Sa svakim korakom sortirani dio niza se povećava. Za izvođenje potpunog sortiranja morat ćete se pokrenuti n– 1 korak.

Ostaje odgovoriti na pitanje kako pronaći prikladno mjesto za element x. Nastavimo na sljedeći način: pogledat ćemo elemente koji se nalaze lijevo x(odnosno one koje su već naručene), krećući se prema početku niza. Potrebno pregledati artikle a(j), j varira od k– l do 1. Takvo će gledanje završiti kada se ispuni jedan od sljedećih uvjeta:

Pronađen je element koji ukazuje na potrebu umetanja x između i a(j).

Dosegnut je lijevi kraj uređenog dijela niza, pa moramo umetnuti x na prvo mjesto.

Dok se ne ispuni jedan od ovih uvjeta, elemente koji se gledaju pomaknut ćemo za 1 poziciju udesno, čime će se u sortiranom dijelu osloboditi prostor za x.

Tehnika sortiranja ilustrirana je u tablici 2:

Tablica 2 - Primjer sortiranja pomoću izravnog uključivanja

Inicijalno uređen niz sastoji se od 1. elementa 9. Element A( 2) =5 – prvi od neuređenog niza i 5< 9, поэтому ставится на его место, а 9 сдвигается вправо. Теперь упорядоченная последовательность состоит из двух элементов 5, 9. Элемент A( 3) =15 neuređenog niza je veći od svih elemenata uređenog niza, stoga ostaje na svom mjestu iu sljedećem koraku uređeni niz se sastoji od 5, 9, 15, a dotični element je 6. Proces se nastavlja sve dok niz ne postane uređen.

Shaker sortiranje

Metoda mjehurića omogućuje tri jednostavna poboljšanja. Prvo, ako u nekom koraku nije izvršena niti jedna razmjena, tada se izvođenje algoritma može zaustaviti. Drugo, možete zapamtiti najmanju vrijednost indeksa polja za koju su izvršene permutacije u trenutnom koraku. Očito je gornji dio niza do elementa s ovim indeksom već sortiran, au sljedećem koraku možete prestati uspoređivati ​​vrijednosti susjednih elemenata kada se dosegne ova vrijednost indeksa. Treće, metoda mjehurića ne radi jednako za "lake" i "teške" vrijednosti. Lagana vrijednost u jednom koraku dolazi do željenog mjesta, a teška se u svakom koraku spušta prema željenom mjestu za jednu poziciju.

Metoda Shaker Sort temelji se na ovim opažanjima. Kada ga koristite, smjer sekvencijalnog gledanja se mijenja pri svakom sljedećem koraku. Kao rezultat toga, na jednom koraku sljedeći najlakši element "pluta", a na sljedećem najteži "potone". Primjer razvrstavanja tresilica dan je u tablici 3.

Tablica 3 – Primjer sortiranja tresilice

Razvrstavanje niza pomoću inkluzija sa opadajućim udaljenostima (metoda Shell)

D. Schell je predložio poboljšanje sortiranja pomoću izravnog uključivanja.

Ideja metode: svi elementi niza podijeljeni su u skupine na način da svaka skupina uključuje elemente razmaknute jedan od drugog za određeni broj pozicija L. Elementi svake grupe su poredani. Nakon toga se svi elementi ponovno kombiniraju i razvrstavaju u skupine, dok se udaljenost između elemenata smanjuje. Proces završava nakon što su elementi poredani s razmakom između njih jednakim 1.

Primjer sortiranja Shell metodom dan je u tablici 4.

Tablica 4 – Primjer sortiranja metodom Shell

Prvo, razmotrite opciju kada je početna vrijednost L jednaka je polovici broja elemenata u nizu, a svaka sljedeća vrijednost je upola manja od prethodne. Imajte na umu da se elementi koji su odvojeni korakom izmjenjuju. Ako pri usporedbi 2 elementa ne dođe do razmjene, tada se mjesta uspoređivanih elemenata pomiču udesno za jedan položaj. Ako je došlo do razmjene, tada se odgovarajući uspoređeni elementi pomiču L.

Split sortiranje (brzo sortiranje)

Metodu podijeljenog sortiranja predložio je Charles Hoare. Ova metoda je razvoj metode jednostavne razmjene i toliko je učinkovita da je dobila naziv Quicksort metoda.

Glavna ideja algoritma je da se neki element niza nasumično odabire x, nakon čega se nizom prelazi slijeva dok se ne naiđe na element a(i) takav da a(i) > x a zatim se nizom prelazi s desne strane dok se ne naiđe na element a(i) takav da a(i)< x. Ova dva elementa se zamjenjuju, a proces pregledavanja, uspoređivanja i razmjene se nastavlja sve dok ne dođemo do elementa x. Kao rezultat toga, niz će biti podijeljen u dva dijela - lijevi, u kojem će ključne vrijednosti biti manje x, a desna s ključnim vrijednostima većim x. Proces se zatim nastavlja rekurzivno za lijevu i desnu stranu niza sve dok svaki dio ne sadrži točno jedan element. Rekurzija se može zamijeniti iteracijama ako zapamtite odgovarajuće indekse polja.

Proces sortiranja niza brzom metodom prikazan je u tablici 5.

Tablica 5 – Primjer brzog sortiranja

Ova metoda se široko koristi pri kartanju. Elementi (karte) se mentalno dijele na već "gotovu" sekvencu A1 ... An i originalnu sekvencu Ai ... An. U svakom koraku, počevši od i=2 i povećavajući I svaki put za jedan, i-ti element se izdvaja iz originalnog niza i prenosi u gotov niz, te se umeće na pravo mjesto.

Gore prikazan kao primjer je postupak sortiranja uključivanjem osam nasumično odabranih brojeva: Algoritam za ovo sortiranje je sljedeći:

ZA i:=2 DO n UČINITI

uključivanje x na odgovarajuće mjesto među a ... a[j];

U stvarnom procesu traženja prikladnog mjesta, prikladno je, naizmjeničnim usporedbama i kretanjem kroz sekvencu, takoreći prosijati X, tj. X se uspoređuje sa sljedećim elementom aj, a zatim se ili X umeće u prazan prostor, odnosno aj se pomiče (prenosi) udesno, a proces "ide" ulijevo. Imajte na umu da se proces prosijavanja može završiti ako je ispunjen jedan od sljedeća dva različita uvjeta:

1. Nađen je element aj s ključem manjim od ključa X.

2. Dosegnut je lijevi kraj završene sekvence.

Ovaj tipični slučaj ponavljajućeg procesa s dva uvjeta završetka omogućuje nam korištenje dobro poznate tehnike barijere (sentinel). Ovdje se lako može primijeniti postavljanjem barijere a0 s vrijednošću X. (Imajte na umu da je za ovo potrebno proširiti raspon indeksa u opisu varijable a na 0 ... n.)

Analiza metode izravnog uključivanja. Broj ključnih usporedbi (Ci) tijekom i-tog prosijavanja je najviše jednak i - 1, najmanje 1; Ako pretpostavimo da su sve permutacije od n ključeva jednako vjerojatne, tada je prosječan broj usporedbi i/2. Broj prijenosa (dodjela elemenata) Mi jednak je Ci + 2 (uključujući barijeru). Dakle, ukupan broj usporedbi i broj prijenosa su sljedeći:

Spremi = (n2 + n - 2)/4,

Smax = (n2 + n - 4)/4,

M min = Z*(n - 1),

M ave = (n2 + 9n - 10)/4,

M max = (n2 + 3n - 4)/2.

Minimalne procjene se javljaju u slučaju već uređenog početnog niza elemenata, dok se najlošije procjene javljaju kada su inicijalno posloženi obrnutim redoslijedom. Na neki način, sortiranje uključivanjem pokazuje doista prirodno ponašanje. Jasno je da gornji algoritam opisuje proces stabilnog sortiranja: redoslijed elemenata s jednakim ključevima ostaje nepromijenjen.

Algoritam s izravnim uključivanjima može se lako poboljšati ako obratite pozornost na činjenicu da je gotov niz (a1 ... ai-1, u koji trebate umetnuti novi element, već uređen. Prirodno je usredotočiti se na binarno pretraživanje, u kojem se pokušava usporediti sa sredinom gotovog niza, a zatim se proces prepolovljavanja nastavlja dok se ne pronađe točka umetanja. Ovaj modificirani algoritam sortiranja naziva se metoda binarnog umetanja.

Sortiranje je raspoređivanje podataka u memoriji na pravilan način prema odabranom parametru. Pravilnošću se smatra povećanje (smanjenje) vrijednosti parametra od početka prema kraju niza podataka.

Prilikom obrade podataka važno je znati informacijsko polje podataka i njihov položaj u stroju.

Postoji unutarnje i vanjsko sortiranje:

Interno sortiranje - sortiranje u RAM-u;

Vanjsko sortiranje - sortiranje u vanjskoj memoriji.

Ako zapisi koji se sortiraju zauzimaju veliku količinu memorije, tada je njihovo premještanje skupo. Kako bi se smanjili, sortiranje se provodi u tablica ključnih adresa, odnosno preuređuju pokazivače, ali se sam niz ne miče. ovo - metoda za sortiranje adresne tablice.

Prilikom razvrstavanja mogu se pojaviti identični ključevi. U tom slučaju, preporučljivo je, nakon sortiranja, poredati iste ključeve istim redoslijedom kao u izvornoj datoteci.ovo - stabilno sortiranje.

Razmotrit ćemo samo vrste koje ne koriste dodatni RAM. Takve se vrste nazivaju "na istom mjestu".

Učinkovitost sortiranja može se promatrati prema nekoliko kriterija:

Vrijeme potrošeno na sortiranje;

Količina RAM-a potrebna za sortiranje;

Vrijeme koje je programer potrošio na pisanje programa.

Istaknimo prvi kriterij. Može se uzeti u obzir ekvivalent vremena utrošenog na sortiranje broj usporedbi I broj pokreta prilikom izvođenja sortiranja.

Redoslijed broja usporedbi i kretanja tijekom sortiranja nalazi se unutar

Od O (n log n) do O (n 2);

O(n) je idealan i nedostižan slučaj.

Razlikuju se sljedeće metode sortiranja:

Stroge (izravne) metode;

Poboljšane metode.

Stroge metode:

Metoda izravnog uključivanja;

Metoda izravne selekcije;

Metoda izravne razmjene.

Učinkovitost strogih metoda je približno ista.

Izravno razvrstavanje

Elementi se mentalno dijele na gotov niz a 1 ,...,a i-1 i originalni niz.

U svakom koraku, počevši od i = 2 i povećavajući i svaki put za jedan, i-ti element se uklanja iz originalnog niza i prenosi u gotov niz, te se umeće na željeno mjesto.

Suština algoritma je sljedeća:

za i = 2 do n

X = a(i)

Nalazimo mjesto među a(1)...a(i) za uključivanje x

sljedeći i


Postoje dva algoritma za sortiranje naprijed. Prvi je bez barijere

Algoritam sortiranja izravnog uključivanja bez barijere

za i = 2 do n

X = a(i)

Za j = i - 1 do 1

Ako je x< a(j)

Tada je a(j + 1) = a(j)

Inače idi na L

Završi ako

Sljedeći j

L: a(j + 1) = x

sljedeći i

povratak

Nedostatak gornjeg algoritma je kršenje tehnologije strukturiranog programiranja, u kojem je nepoželjno koristiti bezuvjetne skokove. Ako je unutarnja petlja organizirana kao while petlja, tada je potrebno postaviti “barijeru” bez koje kod negativnih vrijednosti ključa dolazi do gubitka značaja i “zamrzavanja” računala.

Algoritam sortiranja izravnog uključivanja s barijerom

za i = 2 do n

X = a(i)

A(0) = x (a(0) - barijera)

J = i - 1

Dok je x< a(j) do

A(j +1) = a(j)

J = j - 1

Endwhile

A(j +1) = x

sljedeći i

povratak

Učinkovitost feedforward algoritma

Broj ključnih usporedbi Ci tijekom i-tog prosijavanja je najviše i-1, najmanje 1; Ako pretpostavimo da su sve permutacije od N ključeva jednako vjerojatne, tada je prosječan broj usporedbi = i/2. Broj prijenosa Mi=Ci+3 (uključujući barijeru). Minimalne procjene se javljaju u slučaju već uređenog početnog niza elemenata, dok se najlošije procjene javljaju kada su inicijalno posloženi obrnutim redoslijedom. Na neki način, sortiranje uključivanjem pokazuje doista prirodno ponašanje. Jasno je da gornji algoritam opisuje proces stabilnog sortiranja: redoslijed elemenata s jednakim ključevima ostaje nepromijenjen.

Broj usporedbi u najgorem slučaju, kada je niz sortiran na suprotan način, C max = n(n - 1)/2, tj. - O (n 2). Broj permutacija M max = C max + 3(n-1), t.j. - O (n 2). Ako je niz već sortiran, tada je broj usporedbi i permutacija minimalan: C min = n-1; M min = =3(n-1).

Razvrstavanje korištenjem izravne razmjene (sortiranje u obliku mjehurića)

Ovaj odjeljak opisuje metodu gdje je zamjena dva elementa karakteristična značajka procesa. Algoritam izravne razmjene naveden u nastavku temelji se na usporedbi i promjeni mjesta za par susjednih elemenata i nastavljanju ovog procesa dok se svi elementi ne poredaju.

Ponavljamo prolaze kroz niz, svaki put pomičući najmanji element preostalog niza na lijevi kraj niza. Ako o nizovima razmišljamo kao o vertikalnim, a ne horizontalnim konstrukcijama, tada se elementi mogu tumačiti kao mjehurići u posudi s vodom, pri čemu težina svakog odgovara njegovom ključu. U ovom slučaju, sa svakim prolazom, jedan mjehurić se diže do razine koja odgovara njegovoj težini (pogledajte ilustraciju na donjoj slici).

C min = n - 1, poredak O(n),

a kretanja uopće nema

Usporedna analiza metoda izravnog sortiranja pokazuje da je "sortiranje" razmjenom u svom klasičnom obliku križanac između sortiranja pomoću uključivanja i korištenja selekcije. Ako se gore navedena poboljšanja uvedu u njega, tada za prilično uređene nizove sortiranje u obliku mjehurića ima čak i prednost.

Ova metoda je poznata kao sortiranje mjehurićima.


Algoritam metode izravne razmjene

za j = n do i korak -1

ako a(j)< a(j - 1) then

U našem slučaju, završili smo s jednim praznim prolazom. Kako ne biste ponovno pregledavali elemente i stoga radili usporedbe, trošeći vrijeme na to, možete unijeti potvrdni okvir sp, koji ostaje u vrijednosti lažno, ako se tijekom sljedećeg prolaza ne izvrši razmjena. U donjem algoritmu dodaci su označeni masnim slovima.

fl = istina

ako je fl = false onda se vrati

fl = lažno

za j = n do i korak -1

ako a(j)< a(j - 1) then

fl = istina

Poboljšanje metode s mjehurićima je sortiranje pomoću tresilice, gdje se nakon svakog prolaska mijenja smjer u unutarnjoj petlji.

Učinkovitost algoritma sortiranja izravne razmjene

Broj usporedbi C max = n(n-1)/2, redoslijed O(n 2).

Broj pokreta M max =3C max =3n(n-1)/2, redoslijed O(n 2).

Ako je niz već sortiran i koristi se algoritam s oznakom, tada je dovoljan samo jedan prolaz i tada dobivamo minimalni broj usporedbi

Razvijene su mnoge metode za sortiranje (redoslijed) uzlaznim ili silaznim redoslijedom vrijednosti u nizu [Wirth, Knuth. t 3]. Razmotrimo tri od njih, smatrajući, za određenost, da je prvih n, n=6, elemenata niza X

U svakom sljedećem i-tom koraku, i=2, 3,…,n-1, vrijednost iz (i+1)-te ćelije niza pomiče se prema smanjenju indeksa ćelije zamjenom položaja s brojem iz prethodne ćelija do Neće se pokazati da prethodna ćelija sadrži manji broj.

Iz navedenog proizlazi da se pri implementaciji metode izravnog uključivanja vanjska petlja mora izvršiti n-1 puta, a najveći mogući broj izvršavanja unutarnje petlje u čijem se tijelu moraju izvršiti usporedbe i preslagivanja brojeva, će se povećati s 1 na n-1. Međutim, unutarnju petlju treba organizirati tako da završi ili se uopće ne izvrši kada se dogodi uvjet: vrijednost u prethodnoj ćeliji niza manja je od one u trenutnoj.

U našem primjeru:

Kada je i=2, broj 15 iz ćelije X 3 redom mijenja mjesta s brojem 34 iz ćelije X 2, a zatim s brojem 21 iz ćelije X 1,

Kada je i=4, broj 25 iz ćelije X 5 mijenja mjesta s brojem 34 iz ćelije X 3,

Ispod je isječak programa za poredanje uzlaznim redoslijedom prvih n elemenata niza X pomoću metode izravnog uključivanja (uključivanje uz zadržavanje redoslijeda).

    za i:=1 do n-1 učiniti

  1. dok (X 0) učiniti

  2. R:=X[j];

    X[j]:=X;

    X:=R;

Da bi se brojevi u nizu poredali silaznim redoslijedom, u svakom koraku dovoljno je promijeniti uvjet za permutaciju brojeva u susjednim ćelijama niza u suprotan, naime, razmjena vrijednosti susjednih ćelija će se izvršiti u slučaj kada je prethodni manji od tekućeg.

Metoda izravne razmjene (metoda mjehurića).

Ova metoda, kao i prethodna, temelji se na razmjeni vrijednosti susjednih ćelija niza, ali već od prvog koraka u sekvencijalnoj analizi, kada se kreće s jednog kraja niza na drugi, svi parovi uključene su susjedne ćelije niza.

U prvom koraku, sekvencijalno, za j = n, n-1, ..., 2, uspoređuju se vrijednosti susjednih ćelija niza, a ako je uvjet X j<Х j-1 выполняется их перестановка, в результате чего наименьшее число оказывается в ячейке Х 1 .

U našem primjeru, nakon dovršetka prvog koraka, podaci u nizu će se nalaziti ovako:

U svakom sljedećem koraku, broj parova ćelija koje treba provjeriti smanjit će se za 1. Općenito, u bilo kojem koraku i, i=1, 2, 3, ..., n-1, proces će se izvesti za j od n do i+1, posebno za i= n-1 – samo jednom za n-tu i (n-1)-tu ćeliju.

Iz navedenog proizlazi da se pri implementaciji metode izravne razmjene vanjska petlja mora izvršiti n-1 puta, a smanjit će se broj izvršavanja unutarnje petlje u čijem se tijelu moraju vršiti usporedbe i preslagivanja brojeva. od n-1 do 1.

Podrijetlo izraza "metoda mjehurića" objašnjava se na sljedeći način: ako zamislite okomiti raspored ćelija niza s rastućim indeksom od vrha prema dolje, tada će se najmanji broj razmatranih uzdići poput mjehurića u vodi.

U našem primjeru

Kada je i=3 permutacije će dovesti do sljedećeg stanja niza

Pri korištenju metode mjehurića nije bitno ide li analiza parova brojeva u nizu prema rastućim ili opadajućim indeksima, a vrsta sređivanja (uzlazni ili silazni) određena je samo uvjetom permutacije brojeva ( manji treba biti smješten iza većeg ili obrnuto).

Modificirana metoda izravne razmjene (modificirana metoda mjehurića).

Kao što se može vidjeti iz gornjeg numeričkog primjera, ispostavilo se da je niz uređen nakon četvrtog koraka, to jest, moguće je izvršiti vanjsku petlju ne n-1 puta, već manje, kada postane poznato da je niz već naručeno. Ova se provjera temelji na sljedećem: ako nije bilo permutacija tijekom izvođenja unutarnje petlje, tada je niz već uređen i možete izaći iz vanjske petlje. Varijabla tipa Boolean koristi se kao znak da li je izvršena permutacija: prije ulaska u unutarnju petlju daje joj se jedna vrijednost, na primjer, False, a kada se permutacija izvrši, daje joj se druga vrijednost, na primjer, Pravi.

Očito je da će se učinak korištenja modificirane metode mjehurića u usporedbi s nemodificiranom metodom u ubrzavanju procesa sortiranja primijetiti ako je izvorni niz brojeva blizu poredanosti u željenom smjeru. U ekstremnom slučaju, kada je niz već posložen na željeni način, tijelo vanjske petlje će se izvršiti samo jednom.