Предности и недостаци сортирања мехурића

Програмери који прелазе са развоја рачунара и веба на кодирање за мобилне уређаје или уграђене системе откривају да се више времена троши на одабир и кодирање сопствених структура података и алгоритама. Са мање меморије и ограниченим складиштењем података, нема места за унапред изграђене библиотеке или оквире. Дакле, за оне који треба да напишу сопствене рутине за сортирање, ево неколико разматрања о одабиру ниског сортирања мехурића.

Позадина

Сортирање облачићима је једноставан алгоритам који сортира листу ставки у меморији. Дати низ, код више пута упоређује сваки пар суседних ставки и мења их ако нису у реду. Процес се понавља све док више не дође до замене. Када би било могуће видети низ док је сортирање у току, ниске вредности би „легле“ на врх, док би велике вредности потонуле на дно. Ево релевантног кода у Висуал Басиц-у 2010:

Видео дана

Док је свап = Тачно замјена = Фалсе За и = 0 До тбл.ленгтх - 2 Ако је тбл (и) > тбл (и + 1) Тада је тмп = тбл (и) тбл (и) = тбл (и + 1) тбл (и + 1) = тмп свап = Труе Енд Иф Нект Енд Док

Када одабрати сортирање мехурића

Овај алгоритам има неколико предности. Једноставан је за писање, лако разумљив и потребно је само неколико редова кода. Подаци се сортирају на месту тако да има мало меморије и, када се сортирају, подаци су у меморији, спремни за обраду. Главни недостатак је количина времена која је потребна за сортирање. Просечно време расте скоро експоненцијално како се број елемената табеле повећава. За сортирање десет пута већег броја ставки потребно је скоро сто пута дуже.

Друге врсте низова

Алгоритми за сортирање се разликују по сложености, брзини и трошковима. Врста мехурића је најмање сложена, али и једна од најспоријих. Друге сорте засноване на низу, као што су сортирање уметањем и сортирање разменом, су мало брже, али узимају више кода (погледајте референце испод). Главна предност сортирања заснованих на низу је та што користе најмање кода и заузимају најмању количину радне меморије. Размотрите ове врсте за једноставне низове са мање од неколико стотина ставки.

Сложени алгоритми сортирања

Већи скупови података захтевају сложенији код и више меморије. Брзо сортирање и сортирање гомиле дели и копира скупове података ради оптимизације броја поређења. Брзо сортирање непрекидно дели листу, а затим је поново саставља у сортираном редоследу. Хеап сортирање копира податке у структуру стабла, а затим прелази кроз стабло да би копирало податке назад у ред. Оба су брза и ефикасна, али захтевају више кода и много више радног простора за складиштење. Изаберите ове алгоритме за велике скупове података.