Увод у Буббле Сорт у Јави

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

Назив „Буббле сорт“ овог алгоритма је зато што елементи матрикса путују ка његовом почетку. Да разумемо алгоритам сортирања мехурића узимајући пример.

Пример: Размотрите низ бројева (6 1 8 5 3) који је потребно поредати у растућем редоследу.

Алгоритам сортирања мјехурића ради у више итерација све док не утврди да су сви бројеви сортирани.

Итерације

Испод су итерације изведене у Буббле Сорт у Јави, а то је:

Прва Итерација

(6 1 8 5 3) - Почиње упоређивањем прва два броја и померањем мањег броја ова два удесно. Дакле, између 6 и 1, 1 је мањи број помакнут улијево, а 6 у десно.

(1 6 8 5 3) - Затим упоређује суседна два броја померајући један положај удесно. Овде је број 6 мањи од 8 и стога се задржава исти ред.

(1 6 8 5 3) - Поновно померањем једног положаја у десно поређење се врши између 8 и 5. Број 5 помера се улево јер је мањи од 8.

(1 6 5 8 3) - Овде се упоређивање одвија између бројева 8 и 3. Број 3 се помера улево јер је мањи од 8.

(1 6 5 3 8) - Ово је коначни резултат налога након 1. итерације.

Друга Итерација

Будући да бројке још увек нису у потпуности у порасту, програм иде на другу итерацију.

(1 6 5 3 8) - Овде упоређивање поново почиње од прве две цифре резултата из прве итерације. Поређује бројеве 1 и 6 и задржава исти ред јер је 1 мањи од 6.

(1 6 5 3 8) - Овде се упоређују бројеви 5 и 6. Задржава се исти поредак који је већ у траженом повећању.

(1 5 6 3 8) - Овде се врши поређење између бројева 6 и 3. Број 3 се помера улево јер је мањи од 6.

(1 5 3 6 8) - Следећи бројеви 6 и 8 се упоређују једни са другима. Задржава се исти налог као и у очекиваном редослиједу.

(1 5 3 6 8) - Ово је коначни резултат после друге итерације. Ипак, можемо приметити да цифре нису у потпуности поредане у све већем редоследу. Ипак морамо разменити бројеве 5 и 3 да бисмо добили коначни резултат. Отуда програм иде за трећу итерацију.

Трећа Итерација

(1 5 3 6 8) - Трећа итерација започиње упоређивањем прве две цифре 1 и 5. Будући да је поредак какав се очекује очекиван је исти.

(1 5 3 6 8) - Следе упоредни суседни бројеви 3 и 5. Пошто је 5 већи од 3, помакнуо се у десну страну.

(1 3 5 6 8) - Понављање наставља упоређивање бројева 5 и 6, 6 и 8. Будући да је у траженом редоследу, задржава редослед.

(1 3 5 6 8) - Коначно се итерација зауставља док програм пролази поредећи сваки суседни елемент и утврди да су све цифре у растућем редоследу.

Пошто је овде било само 5 елемената низа које је требало сортирати, требало је укупно само 3 итерације. Како се елементи у низу повећавају, повећава се и количина итерација.

Буббле Сорт Имплементација помоћу Јава

Испод је Јава код који је имплементација алгоритма сортирања Буббле-а. (Имајте на уму да прва позиција матрице у Јави почиње од 0 и наставља се у корацима од 1, тј. Низ (0), низ (1), низ (2) и наставља се.)

Шифра:

import java.util.Scanner;
public class BubbleSort (
static void bubbleSort(int() arraytest) (
int n = arraytest.length; //length of the array is initialized to the integer n
int temp = 0; //A temporary variable called temp is declared as an integer and initialized to 0
for(int i=0; i < n; i++)( // first for loop performs multiple iterations
for(int j=1; j < (ni); j++)(
if(arraytest(j-1) > arraytest(j))( // if loop compares the adjacent numbers
// swaps the numbers
temp = arraytest(j-1); // assigns the greater number to temp variable
arraytest(j-1) = arraytest(j); // shifts the lesser number to the previous position
arraytest(j) = temp; // bigger number is then assigned to the right hand side
)
)
)
)
public static void main(String() args) (
int arraytest() =(23, 16, 3, 42, 75, 536, 61); // defining the values of array
System.out.println("Array Before Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++)( // for loop used to print the values of array
System.out.print(arraytest(i) + " ");
)
System.out.println();
bubbleSort(arraytest); // array elements are sorted using bubble sort function
System.out.println("Array After Doing Bubble Sort");
for(int i=0; i < arraytest.length; i++)(
System.out.print(arraytest(i) + " "); // for loop to print output values from array
)
)
)

Излаз:

Предности и недостаци сортирања буббле у Јави

Испод су различите предности и недостаци сорти мехурића у јави:

Предности

  1. Код је врло лако написати и разумети. Обично траје свега неколико минута.
  2. Имплементација је такође веома једноставна.
  3. Буббле сортирање сортира бројеве и чува их у меморији чиме штеди много меморије.

Недостаци

  1. Овај алгоритам није погодан за велике скупове података јер упоређивање траје много времена. Вријеме потребно за сортирање улазних бројева експоненцијално расте.
  2. О (н 2) је просечна сложеност Буббле врсте и О (н) је најбоља сложеност случаја (најбољи случај је када су елементи сортирани на првом месту) где је н број елемената.

Апликације у реалном времену

Пошто је Буббле врста способна да детектује минутне грешке у сортирању, користи се у компјутерској графици. Такође се користи у алгоритму пуњења полигона где треба сортирати облоге врхова полигона.

Закључак

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

Препоручени чланци

Ово је водич за Буббле Сорт у Јави. Овдје смо расправљали о више итерација за извођење мјехурића сорте у Јави и његову имплементацију кода заједно с предностима и недостацима. Такође можете погледати следеће чланке да бисте сазнали више -

  1. Буббле Сорт ин ЈаваСцрипт
  2. Сортирање у Р
  3. 3Д низови на Јави
  4. Низи у Ц #
  5. Буббле Сорт ин Питхон

Категорија: