fbpx
Wikipedia

Qabarcıqlı nizamlama

Qabarcıqlı nizamlama və ya qabarcıqlı sıralama (ing. Bubble sort) — iki qonşu elementi müqayisə etməklə və əgər onlar səhv nizamda isə onların yerini dəyişməklə verilən siyahını təkrarla yoxlayaraq, sıralayan alqoritmdir. Alqoritmin performansı aşağıdakı kimidir:

  • ən yaxşı vaxt =
  • orta vaxt =
Redaktə rəng qabarcıq sıralama

Addım-addım nümunə

"5 1 4 2 8" şəklində bir massiv götürək, və massivi artma sırasına görə sıralayaq. Hər bir addımda müqayisə olunan elementlər tünd qara ilə göstərilib. Sona qədər sıralama üçün 3 keçid lazımdır.

Birinci keçid:
( 5 1 4 2 8 )   ( 1 5 4 2 8 ), Burada alqoritm ilk iki elementi müqayisə edir və 5>1 olduğu üçün 5 ilə 1-in yerini dəyişir.
( 1 5 4 2 8 )   ( 1 4 5 2 8 ), 5 > 4 olduğu üçün
( 1 4 5 2 8 )   ( 1 4 2 5 8 ), 5 > 2 olduğu
( 1 4 2 5 8 )   ( 1 4 2 5 8 ), 5 < 8, heç bir dəyişiklik olmur.
İkinci keçid:
( 1 4 2 5 8 )   ( 1 4 2 5 8 )
( 1 4 2 5 8 )   ( 1 2 4 5 8 ), 4 > 2 olduğu üçün
( 1 2 4 5 8 )   ( 1 2 4 5 8 )
( 1 2 4 5 8 )   ( 1 2 4 5 8 )
Hal - hazırda massiv artma sırasına görə sıralanıb (nizamlanıb). Amma alqoritm bunun belə olduğunu bilmədiyi üçün elementlərin yerini dəyişmədən birdaha elementləri müqayisə edəcək.
Üçüncü keçid:
( 1 2 4 5 8 )   ( 1 2 4 5 8 )
( 1 2 4 5 8 )   ( 1 2 4 5 8 )
( 1 2 4 5 8 )   ( 1 2 4 5 8 )
( 1 2 4 5 8 )   ( 1 2 4 5 8 )

İmplementasiyası

Python dilində implementasiya aşağıdakı kimi olar.

def bubblesort(A): while True: swapped = False for i in range(1,len(A)-1): if A[i-1]>A[i]: tmp=A[i-1] A[i-1]=A[i] A[i]=tmp swapped=True if swapped==False: break return A #Yuxarıdakı nümunə ilə test etsək siyahi = [5,1,4,2,8] print bubblesort(siyahi) 

Cavab:

$python bubble.py [1, 2, 4, 5, 8] 

qabarcıqlı, nizamlama, qabarcıqlı, sıralama, bubble, sort, qonşu, elementi, müqayisə, etməklə, əgər, onlar, səhv, nizamda, isə, onların, yerini, dəyişməklə, verilən, siyahını, təkrarla, yoxlayaraq, sıralayan, alqoritmdir, alqoritmin, performansı, aşağıdakı, ki. Qabarciqli nizamlama ve ya qabarciqli siralama ing Bubble sort iki qonsu elementi muqayise etmekle ve eger onlar sehv nizamda ise onlarin yerini deyismekle verilen siyahini tekrarla yoxlayaraq siralayan alqoritmdir Alqoritmin performansi asagidaki kimidir en yaxsi vaxt O n displaystyle O n orta vaxt O n 2 displaystyle O n 2 Redakte reng qabarciq siralamaAddim addim numune Redakte 5 1 4 2 8 seklinde bir massiv goturek ve massivi artma sirasina gore siralayaq Her bir addimda muqayise olunan elementler tund qara ile gosterilib Sona qeder siralama ucun 3 kecid lazimdir Birinci kecid 5 1 4 2 8 displaystyle to 1 5 4 2 8 Burada alqoritm ilk iki elementi muqayise edir ve 5 gt 1 oldugu ucun 5 ile 1 in yerini deyisir 1 5 4 2 8 displaystyle to 1 4 5 2 8 5 gt 4 oldugu ucun 1 4 5 2 8 displaystyle to 1 4 2 5 8 5 gt 2 oldugu 1 4 2 5 8 displaystyle to 1 4 2 5 8 5 lt 8 hec bir deyisiklik olmur Ikinci kecid 1 4 2 5 8 displaystyle to 1 4 2 5 8 1 4 2 5 8 displaystyle to 1 2 4 5 8 4 gt 2 oldugu ucun 1 2 4 5 8 displaystyle to 1 2 4 5 8 1 2 4 5 8 displaystyle to 1 2 4 5 8 Hal hazirda massiv artma sirasina gore siralanib nizamlanib Amma alqoritm bunun bele oldugunu bilmediyi ucun elementlerin yerini deyismeden birdaha elementleri muqayise edecek Ucuncu kecid 1 2 4 5 8 displaystyle to 1 2 4 5 8 1 2 4 5 8 displaystyle to 1 2 4 5 8 1 2 4 5 8 displaystyle to 1 2 4 5 8 1 2 4 5 8 displaystyle to 1 2 4 5 8 Implementasiyasi RedaktePython dilinde implementasiya asagidaki kimi olar def bubblesort A while True swapped False for i in range 1 len A 1 if A i 1 gt A i tmp A i 1 A i 1 A i A i tmp swapped True if swapped False break return A Yuxaridaki numune ile test etsek siyahi 5 1 4 2 8 print bubblesort siyahi Cavab python bubble py 1 2 4 5 8 Menbe https az wikipedia org w index php title Qabarciqli nizamlama amp oldid 5547458, wikipedia, oxu, kitab, kitabxana, axtar, tap, hersey,

ne axtarsan burda

, en yaxsi meqale sayti, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, seks, porno, indir, yukle, sex, azeri sex, azeri, seks yukle, sex yukle, izle, seks izle, porno izle, mobil seks, telefon ucun, chat, azeri chat, tanisliq, tanishliq, azeri tanishliq, sayt, medeni, medeni saytlar, chatlar, mekan, tanisliq mekani, mekanlari, yüklə, pulsuz, pulsuz yüklə, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar.