logo

Алгоритам сортирања мехурића

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

мени за подешавања андроид телефона

Буббле сортирање ради на вишекратној замени суседних елемената све док не буду у предвиђеном редоследу. Зове се сортирање мехурића јер је кретање елемената низа исто као и кретање ваздушних мехурића у води. Мехурићи у води издижу се на површину; слично томе, елементи низа у сортирању мехурића померају се до краја у свакој итерацији.

Иако је једноставан за коришћење, првенствено се користи као образовно средство јер су перформансе сортирања мехурића лоше у стварном свету. Није погодан за велике скупове података. Просечна и најгоре сложеност Буббле сортирања је На2), где н је број ставки.

Буббле схорт се углавном користи тамо где -

  • сложеност није битна
  • једноставан и пожељан је кратки код

Алгоритам

У алгоритму датом у наставку, претпоставимо арр је низ н елемената. Претпостављено свап функција у алгоритму ће заменити вредности датих елемената низа.

 begin BubbleSort(arr) for all array elements if arr[i] > arr[i+1] swap(arr[i], arr[i+1]) end if end for return arr end BubbleSort 

Рад алгоритма сортирања мехурића

Сада, да видимо како функционише алгоритам сортирања мехурића.

Да бисмо разумели рад алгоритма сортирања мехурића, узмимо несортирани низ. Узимамо кратак и тачан низ, пошто знамо да је сложеност сортирања мехурића На2).

Нека су елементи низа -

Алгоритам сортирања мехурића

Фирст Пасс

Сортирање ће почети од почетна два елемента. Хајде да их упоредимо да проверимо који је већи.

Алгоритам сортирања мехурића

Овде је 32 веће од 13 (32 > 13), тако да је већ сортирано. Сада упоредите 32 са 26.

Алгоритам сортирања мехурића

Овде је 26 мање од 36. Дакле, потребна је замена. Након замене нови низ ће изгледати као -

Алгоритам сортирања мехурића

Сада, упореди 32 и 35.

Алгоритам сортирања мехурића

Овде је 35 веће од 32. Дакле, није потребна замена пошто су већ сортирани.

Сада ће поређење бити између 35 и 10.

Алгоритам сортирања мехурића

Овде је 10 мање од 35 које нису сортиране. Дакле, потребна је замена. Сада долазимо до краја низа. Након првог пролаза, низ ће бити -

Алгоритам сортирања мехурића

Сада пређите на другу итерацију.

Други пролаз

Исти процес ће се пратити и за другу итерацију.

шта је ф5 на тастатури
Алгоритам сортирања мехурића

Овде је 10 мање од 32. Дакле, потребна је замена. Након замене, низ ће бити -

Алгоритам сортирања мехурића

Сада пређите на трећу итерацију.

Трећи пролаз

Исти процес ће се пратити и за трећу итерацију.

Алгоритам сортирања мехурића

Овде је 10 мање од 26. Дакле, потребна је замена. Након замене, низ ће бити -

Алгоритам сортирања мехурића

Сада пређите на четврту итерацију.

Четврти пас

Слично, након четврте итерације, низ ће бити -

Алгоритам сортирања мехурића

Дакле, није потребна замена, тако да је низ потпуно сортиран.

Сложеност сортирања мехурића

Сада, да видимо временску сложеност сортирања мехурића у најбољем, просечном и најгорем случају. Видећемо и просторну сложеност сортирања мехурића.

1. Временска сложеност

Случај Временска сложеност
Најбољи случај На)
Авераге Цасе На2)
Најгори случај На2)
    Најбољи случај сложености -Појављује се када није потребно сортирање, тј. низ је већ сортиран. У најбољем случају временска сложеност сортирања мехурића је На). Просечна сложеност случаја -Јавља се када су елементи низа у збрканом редоследу који није правилно растући и није правилно опадајући. Просечна временска сложеност сортирања мехурића је На2). Сложеност у најгорем случају -Јавља се када је потребно да се елементи низа сортирају обрнутим редоследом. То значи да претпоставимо да морате да сортирате елементе низа у растућем редоследу, али његови елементи су у опадајућем редоследу. У најгорем случају временска сложеност сортирања мехурића је На2).

2. Сложеност простора

Спаце Цомплекити О(1)
Стабилно ДА
  • Просторна сложеност сортирања мехурића је О(1). То је зато што је у сортирању мехурића потребна додатна променљива за замену.
  • Просторна сложеност оптимизованог сортирања мехурића је О(2). То је зато што су потребне две додатне варијабле у оптимизованом сортирању мехурића.

Хајде сада да разговарамо о оптимизованом алгоритму сортирања мехурића.

Оптимизовани алгоритам сортирања мехурића

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

Да бисмо то решили, можемо користити додатну променљиву замењено. Постављено је на истина ако је замена потребна; у супротном, постављено је на лажно.

Биће од помоћи, као што претпоставимо да након итерације, ако није потребна замена, вредност променљиве замењено биће лажно. То значи да су елементи већ сортирани и да нису потребне даље итерације.

Овај метод ће смањити време извршења и такође оптимизује сортирање мехурића.

Алгоритам за оптимизовано сортирање мехурића

 bubbleSort(array) n = length(array) repeat swapped = false for i = 1 to n - 1 if array[i - 1] > array[i], then swap(array[i - 1], array[i]) swapped = true end if end for n = n - 1 until not swapped end bubbleSort 

Имплементација Буббле сортирања

Сада, да видимо програме Буббле сортирања у различитим програмским језицима.

мреже и интернета

Програм: Напишите програм за имплементацију сортирања мехурића у језику Ц.

 #include void print(int a[], int n) //function to print array elements { int i; for(i = 0; i <n; i++) { printf('%d ',a[i]); } void bubble(int a[], int n) function to implement bubble sort i, j, temp; for(i="0;" i < n; for(j="i+1;" j j++) if(a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" main () j,temp; a[5]="{" 10, 35, 32, 13, 26}; n="sizeof(a)/sizeof(a[0]);" printf('before sorting array elements are - 
'); print(a, n); bubble(a, printf('
after pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-13.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in C++ language.</p> <pre> #include using namespace std; void print(int a[], int n) //function to print array elements { int i; for(i = 0; i <n; i++) { cout< <a[i]<<' '; } void bubble(int a[], int n) function to implement bubble sort i, j, temp; for(i="0;" i < n; for(j="i+1;" j j++) if(a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" main() j,temp; a[5]="{45," 1, 32, 13, 26}; n="sizeof(a)/sizeof(a[0]);" cout<<'before sorting array elements are - 
'; print(a, n); bubble(a, cout<<'
after return 0; pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-14.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in C# language.</p> <pre> using System; public class Bubble { static void print (int[]a) //function to print array elements { int n = a.Length; int i; for (i = 0; i <n; 26 i++) { console.write (' ' + a[i]); } static void bubble (int[]a) function to implement sort int n="a.Length;" i, j, temp; for (i="0;" i < n; (j="i" 1; j j++) if (a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" public main () int[] a="{" 45, 1, 32, 13, }; ('
 before sorting array elements are - 
'); print (a); console.writeline (); after pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-15.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in Java.</p> <pre> public class Bubble { static void print (int a[]) //function to print array elements { int n = a.length; int i; for (i = 0; i <n; i++) { system.out.print(a[i] + ' '); } static void bubblesort (int a[]) function to implement bubble sort int n="a.length;" i, j, temp; for (i="0;" i < n; (j="i" 1; j j++) if (a[j] a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" public main(string[] args) a[]="{35," 10, 31, 11, 26}; b1="new" bubble(); system.out.println('before sorting array elements are - b1.print(a); b1.bubblesort(a); system.out.println(); system.out.println('after pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-16.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in JavaScript.</p> <pre> var a = [35, 10, 31, 11, 26]; function print() //function to print array elements { for(i = 0; i <5; i++) { document.writeln(a[i]); } document.write('before sorting array elements are - ' + <br>&apos;); print(); for(i = 0; i <5; i++) { for (j="0;" j < 5; j++) if(a[i] a[j]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } document.write(' <br> After sorting array elements are - &apos; + &apos; <br>&apos;); print(); </5;></5;></pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-17.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in PHP.</p> <pre> <?php $a = array(2, 45, 88, 11, 5); function printArray($a) { for($i = 0; $i < 5; $i++) { print_r($a[$i]); echo ' '; } } echo 'Before sorting array elements are - <br>&apos;; printArray($a); for($i = 0; $i <5; $i++) { for ($j="0;" $j < 5; $j++) if($a[$i] $a[$j]) $temp="$a[$i];" $a[$i]="$a[$j];" $a[$j]="$temp;" } echo ' <br> After sorting array elements are - <br>&apos;; printArray($a); ?&gt; </5;></pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-18.webp" alt="Bubble sort Algorithm"> <p> <strong>Program:</strong> Write a program to implement bubble sort in python.</p> <pre> a = [35, 10, 31, 11, 26] print(&apos;Before sorting array elements are - &apos;) for i in a: print(i, end = &apos; &apos;) for i in range(0,len(a)): for j in range(i+1,len(a)): if a[j] <a[i]: temp="a[j]" a[j]="a[i]" a[i]="temp" print('
after sorting array elements are - ') for i in a: print(i, end=" " ) < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-19.webp" alt="Bubble sort Algorithm"> <p>So, that&apos;s all about the article. Hope the article will be helpful and informative to you.</p> <p>This article was not only limited to the algorithm. We have also discussed the algorithm&apos;s complexity, working, optimized form, and implementation in different programming languages.</p> <hr></a[i]:></pre></n;></pre></n;></pre></n;></pre></n;>

Излаз

Алгоритам сортирања мехурића

Програм: Напишите програм за имплементацију сортирања мехурића у ПХП-у.

 <?php $a = array(2, 45, 88, 11, 5); function printArray($a) { for($i = 0; $i < 5; $i++) { print_r($a[$i]); echo \' \'; } } echo \'Before sorting array elements are - <br>&apos;; printArray($a); for($i = 0; $i <5; $i++) { for ($j="0;" $j < 5; $j++) if($a[$i] $a[$j]) $temp="$a[$i];" $a[$i]="$a[$j];" $a[$j]="$temp;" } echo \' <br> After sorting array elements are - <br>&apos;; printArray($a); ?&gt; </5;>

Излаз

Алгоритам сортирања мехурића

Програм: Напишите програм за имплементацију сортирања мехурића у Питхон-у.

 a = [35, 10, 31, 11, 26] print(&apos;Before sorting array elements are - &apos;) for i in a: print(i, end = &apos; &apos;) for i in range(0,len(a)): for j in range(i+1,len(a)): if a[j] <a[i]: temp="a[j]" a[j]="a[i]" a[i]="temp" print(\'
after sorting array elements are - \') for i in a: print(i, end=" " ) < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/ds-tutorial/52/bubble-sort-algorithm-19.webp" alt="Bubble sort Algorithm"> <p>So, that&apos;s all about the article. Hope the article will be helpful and informative to you.</p> <p>This article was not only limited to the algorithm. We have also discussed the algorithm&apos;s complexity, working, optimized form, and implementation in different programming languages.</p> <hr></a[i]:>