Fördelar & Nackdelar med Bubble Sort

Programmerare som byter från PC och webbutveckling i kodning för mobila enheter eller inbyggda system finner att mer tid ägnas åt att välja och kodning sina egna datastrukturer och algoritmer . Med mindre minne och begränsade datalagring , det finns inget utrymme för färdiga bibliotek eller ramverk . Så för dem som behöver skriva sina egna sortering rutiner , här är några överväganden om att välja de ringa bubblan sort . Bakgrund

Bubblan sort är en enkel algoritm som sorterar en lista med objekt i minnet . Med tanke på en array, jämför koden upprepade gånger varje par av närliggande poster och swappar dem om de inte är i ordning. Processen upprepas tills inga fler swappar inträffar. Om det vore möjligt att visa arrayen medan sorteringen pågår , de låga värdena skulle ” bubbla” till toppen medan de stora värdena skulle sjunka till botten . Här är den aktuella koden i Visual Basic 2010:

swap = Sant swap

= False

För i = 0 Till tbl.length – 2 Review < p > Om tbl ( i) > tbl (i + 1 ) Then

tmp = tbl (i ) katalog

tbl (i) = tbl (i + 1 ) katalog

TBL (i + 1 ) = tmp

swap = Sant

End If

Nästa

Slut Medan Addera När att välja Bubble Sort

Denna algoritm har flera fördelar . Det är enkelt att skriva , lätt att förstå och det tar bara några få rader kod . Uppgifterna sorteras på plats så det finns lite minne overhead och när sorteras , är data i minnet , redo för bearbetning . Den största nackdelen är den tid det tar att sortera. Den genomsnittliga tiden ökar nästan exponentiellt med antalet tabellen element ökar . Tio gånger antalet objekt tar nästan hundra gånger så lång tid att sortera .
Andra Array Sorterar

sorteringsalgoritmer varierar i komplexitet , snabbhet och overhead . Bubblan sort är den minst komplicerat utan också en av de långsammaste . Andra array – baserade sorter som införandet sortera och utbyte sort är lite snabbare men tar mer kod ( se referenser nedan ) . Den största fördelen med array – baserade sorter är att de använder minst koden och ta kortast av arbetsminnet . Anser att dessa typer av enkla arrayer med mindre än ett par hundra artiklar .
Komplexa Sortera Algoritmer

Större datamängder kräver mer komplex kod och mer minne . Den snabba sortera och heap sort både split och kopiera datamängder att optimera antalet jämförelser . Den snabba Sortera dividerar listan sedan slår samman det i sorterad ordning . Högen sort kopierar data till en trädstruktur sedan korsar trädet att kopiera data tillbaka i ordning . Båda är snabba och effektiva , men tar mer kod och mycket mer arbetsminne . Välj dessa algoritmer för stora datamängder .

Lämna ett svar