У овом чланку ћемо разговарати о алгоритму сортирања мехурића. Процедура рада буббле сортирања је најједноставнија. Овај чланак ће бити веома користан и занимљив студентима јер би се могли суочити са питањем у облику мехурића на испитима. Дакле, важно је разговарати о теми.
мени за подешавања андроид телефона
Буббле сортирање ради на вишекратној замени суседних елемената све док не буду у предвиђеном редоследу. Зове се сортирање мехурића јер је кретање елемената низа исто као и кретање ваздушних мехурића у води. Мехурићи у води издижу се на површину; слично томе, елементи низа у сортирању мехурића померају се до краја у свакој итерацији.
Иако је једноставан за коришћење, првенствено се користи као образовно средство јер су перформансе сортирања мехурића лоше у стварном свету. Није погодан за велике скупове података. Просечна и најгоре сложеност Буббле сортирања је На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. Сложеност простора
Спаце Цомплекити | О(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>'); 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 - ' + ' <br>'); 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>'; 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>'; printArray($a); ?> </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('Before sorting array elements are - ') for i in a: print(i, end = ' ') 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'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'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>'; 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>'; printArray($a); ?> </5;>
Излаз
Програм: Напишите програм за имплементацију сортирања мехурића у Питхон-у.
a = [35, 10, 31, 11, 26] print('Before sorting array elements are - ') for i in a: print(i, end = ' ') 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'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's complexity, working, optimized form, and implementation in different programming languages.</p> <hr></a[i]:>