Kaip įdiegti „Bubble Sort“ „Python“?



Šiame tinklaraštyje sužinosite „Python“ sąrašo rūšiavimo kodą ir paaiškinimą naudojant burbulų rūšiavimą, naudojant apsikeitimo metodą.

Rūšiavimas reiškia bet kokių duomenų išdėstymą didėjančia ar mažėjančia tvarka pagal tam tikrą linijinį santykį tarp elementų. Šis straipsnis apie „Bubble Rūšiuoti“ padės išsamiau suprasti šią sąvoką.

Šiame tinklaraštyje aptarsime toliau nurodytas temas:





Kas yra burbulų rūšiavimas?

Burbulų rūšiavimas taip pat žinomas kaip grimztantis rūšis. Tai paprastas rūšiavimo algoritmas, kuris nuolat pereina sąrašą, kurį reikia rūšiuoti, lyginant kiekvieną gretimų elementų porą ir keičiant juos, jei jie nėra teisinga tvarka. Veiksmai kartojami tol, kol nebereikia apsikeitimo sandorių, tada sąrašas yra sutvarkomas.

„Bubble Sort“ rūšiavimo veiksmai

  • Palyginkite pirmąjį ir antrąjį sąrašo elementus ir pakeiskite, jei jie išdėstyti netinkama tvarka.
  • Palyginkite antrą ir trečią elementus ir pakeiskite juos, jei jie yra neteisinga tvarka.
  • Panašiai elkitės iki paskutinio sąrašo elemento.
  • Kartokite visus anksčiau nurodytus veiksmus, kol sąrašas bus surūšiuotas.

Pirmiau nurodyti veiksmai bus aiškesni atliekant šias vizualizacijas:



Burbulų rūšiavimas „Python“ - „Edureka“



Burbulų rūšiavimo algoritmas

Dabar pažvelkime į „Bubble Sort“ algoritmą.

Pirmasis perdavimas:

( 16.19 val , 11,15,10) -> ( 16.19 val , 11,15,10) - Algoritmas lygina pirmuosius du elementus ir keičiasi nuo 19> 16

(16, 19.11 15.10 val) -> (16, 11.19 15.10 val) - Keisti nuo 19> 11

(16.11 val., 19.15 val , 10) -> (16,11, 15.19 val , 10) - Keisti nuo 19> 15

(16,11,15, 19.10 val ) -> (16,11,15, 10.19 ) - Kadangi šie elementai jau yra teisinga tvarka (19> 10), algoritmas jų nekeičia.

„javascript“ gauti masyvo dydį

Antras leidimas:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Keisti nuo 16> 11

( vienuolika, 16.15 val , 10.19) -> (11, 15.16 , 10,19) - Keisti nuo 16> 15

(11.15 val., 16.10 , 19) -> (11,15, 10.16 , 19) - Keisti nuo 16> 10

(11,15,10,16,19) -> (11,15,10,16,19)

The yra rūšiuojamas, bet mūsų algo nežino, ar jis baigtas. Taigi, norint sužinoti, kad jis yra rūšiuojamas, reikia dar vieno viso leidimo be apsikeitimo.

Trečiasis leidimas:

( vienuolika, 15.10 , 16,19) -> (11, 15.10 , 16,19)

( vienuolika, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Keisti nuo 15> 10

(11,10,15,16,19) -> (11,10,15,16,19)

(11,10,15,16,19) -> (11,10,15,16,19)

Ketvirtasis perdavimas:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Keisti nuo 11> 10

Galutinis rezultatas yra (10,11,15,16,19)

Dabar užkoduokime tai -

„Python“ programa, skirta įdiegti „Bubble Sort“

a = [16, 19, 11, 15, 10, 12, 14]

# kartojantis ciklas len (a) (elementų skaičius) kartų skaičius j diapazone (len (a)): # pradžių pakeista klaidingai pakeista = klaidinga i = 0, o ia [i + 1]: # pakeičiant a [i ], a [i + 1] = a [i + 1], a [i] #Pakeistos sukeistos vertės keitimas = Tiesa i = i + 1 #jei sukeista klaidinga, tada sąrašas surūšiuotas #galime sustabdyti kilpą jei pakeista == False: pertrauka spausdinti (a)
 IŠĖJIMAS: 


Ankstesniame kode mes palyginame gretimus skaičius ir pakeičiame juos, jei jie nėra teisinga tvarka. Pakartokite tą patį procesą len (a) kartų. Mes priskyrėme kintamąjį „sukeisti“ ir padarėme jį „tikru“, jei kartojami du elementai. Ir jei elementai nesikeičia, sąrašas jau yra surūšiuotas, taigi, „sukeisto“ vertė nepasikeitė ir mes galime nutraukti kilpą.

Tuo mes baigėme tinklaraščio pavadinimą „Kaip įdiegti„ Bubble Sort “Python'e“. Tikiuosi, kad turinys prideda pridėtinės vertės jūsų „Python“ žinioms.

Įsitikinkite, kad praktikuojate kuo daugiau ir grąžinkite savo patirtį.

Turite mums klausimą? Prašau tai paminėti šio tinklaraščio „Kaip įdiegti burbulų rūšiavimą„ Python ““ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.

Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite užsiregistruoti tiesiogiai su parą visą parą ir visą gyvenimą.