Panga Bubble dhidi ya Aina ya Uteuzi
Kupanga viputo ni algoriti ya kupanga ambayo hufanya kazi kwa kupitia orodha ili kupangwa mara kwa mara huku ikilinganisha jozi za vipengee vilivyo karibu. Ikiwa jozi ya vipengee viko katika mpangilio mbaya hubadilishwa ili kuviweka katika mpangilio sahihi. Upitishaji huu unarudiwa hadi hakuna ubadilishaji zaidi unaohitajika. Uteuzi wa aina pia ni algorithm ya kupanga, ambayo huanza kwa kutafuta kipengee cha chini kabisa kwenye orodha na kukibadilisha na kipengele cha kwanza. Mchakato huu unarudiwa kwa salio la orodha kwa kuweka vipengele vilivyobadilishwa kwa mpangilio.
Aina ya Mapovu ni nini?
Kupanga viputo ni algoriti ya kupanga ambayo hufanya kazi kwa kupitia orodha ili kupangwa mara kwa mara huku ikilinganisha jozi za vipengee vilivyo karibu. Ikiwa jozi ya vipengee viko katika mpangilio mbaya hubadilishwa ili kuviweka katika mpangilio sahihi. Upitishaji huu unarudiwa hadi hakuna ubadilishaji zaidi unaohitajika (ambayo inamaanisha kuwa orodha imepangwa). Kwa kuwa vipengee vidogo kwenye orodha huja juu huku kiputo kikija juu, hupewa jina la aina ya kiputo. Upangaji wa Bubble ni algoriti rahisi sana ya kupanga lakini ina uchangamano wa wastani wa wakati wa O(n2) wakati wa kupanga orodha yenye vipengele vya n. Kutokana na hili, aina ya Bubble haifai kwa orodha za kupanga na idadi kubwa ya vipengele. Lakini kwa sababu ya urahisi wake, upangaji wa viputo hufunzwa wakati wa utangulizi wa algoriti.
Aina ya Uteuzi ni Gani?
Aina ya uteuzi pia ni algoriti nyingine ya kupanga ambayo huanza kwa kutafuta kipengele cha chini kabisa kwenye orodha na kukibadilisha na kipengele cha kwanza. Kisha kipengele cha chini kinapatikana kutoka kwa salio la orodha (kutoka kipengele cha pili hadi kipengele cha mwisho kwenye orodha) na kubadilishwa na kipengele cha pili. Utaratibu huu unarudiwa kwa salio la orodha kwa kuweka vipengele vilivyobadilishwa kwa mpangilio. Kwa hivyo katika aina ya uteuzi, katika hatua yoyote ya algorithm, orodha imegawanywa katika sehemu mbili ambapo sehemu moja ina vipengee vilivyopangwa na sehemu nyingine ina vitu ambavyo havijapangwa. Kadiri algorithm inavyoendelea, orodha iliyopangwa inakua kutoka kushoto kwenda kulia. Aina ya uteuzi pia ina utata wa wastani wa wakati wa O(n2). Kwa hivyo pia haifai kwa kupanga orodha kubwa.
Kuna tofauti gani kati ya Upangaji Viputo na Upangaji Uteuzi?
Ingawa algoriti zote mbili za kupanga na kuchagua aina za kiputo zina utata wa wastani wa wakati wa kipochi wa O(n2), upangaji wa viputo karibu kila wakati hudumiwa na aina ya uteuzi. Hii ni kwa sababu ya idadi ya ubadilishaji unaohitajika na algoriti mbili (aina za Bubble zinahitaji ubadilishaji zaidi). Lakini kwa sababu ya unyenyekevu wa aina ya Bubble, saizi yake ya nambari ni ndogo sana. Utulivu ni tofauti nyingine katika algorithms hizi mbili. Algorithm thabiti ya kupanga, ni algoriti ya kupanga ambayo huhifadhi mpangilio wa rekodi ikiwa orodha ina vipengee vyenye thamani sawa. Kwa maana hiyo, aina ya uteuzi si kanuni thabiti ilhali aina ya viputo ni kanuni thabiti.