Как да приложим Bubble Sort в Python?



В този блог ще научите кода и обяснението на сортирането на списъка на Python с помощта на сортиране на балончета, използвайки метода за размяна.

Сортирането означава подреждане на всякакви данни в нарастващ или намаляващ ред според някаква линейна връзка между елементите. Тази статия за Bubble Sort in ще ви помогне да разберете подробно тази концепция.

В този блог ще разгледаме следните теми:





Какво е сортиране на балончета?

Сортирането на мехурчета е известно и като потъващо сортиране. Това е прост алгоритъм за сортиране, който непрекъснато стъпва през списъка, за да бъде сортиран, като сравнява всяка двойка съседни елементи и ги разменя, ако не са в правилния ред. Стъпките се повтарят, докато не са необходими повече суапове, когато списъкът се сортира.

Стъпки за извършване на сортиране на балончета

  • Сравнете първия и втория елемент в списъка и ги разменете, ако са в грешен ред.
  • Сравнете втория и третия елемент и ги разменете, ако са в грешен ред.
  • Продължете по подобен начин до последния елемент от списъка по подобен начин.
  • Продължавайте да повтаряте всички горепосочени стъпки, докато списъкът не бъде сортиран.

Горните стъпки ще бъдат по-ясни от следните визуализации -



Сортиране на балончета в Python - Edureka



Алгоритъм за сортиране на балончета

Сега нека разгледаме алгоритъма зад Bubble Sort.

Първо преминаване:

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Алгоритъмът сравнява първите два елемента и суаповете от 19> 16

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Разменете от 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Разменете от 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Сега, тъй като тези елементи вече са в правилния ред (19> 10), алгоритъмът не ги разменя.

Втори пропуск:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Разменяйте от 16> 11

сертифициран разработчик на cloudera за apache hadoop

(единадесет, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Разменяйте от 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Разменяйте от 16> 10

(11,15,10,16,19) -> (11,15,10,16,19)

The е сортирано, но нашият алго не знае дали е завършен. Следователно, той се нуждае от още един цял проход без никакъв суап, за да знае, че е сортиран.

Трето преминаване:

(единадесет, 15.10 , 16,19) -> (11, 15.10 , 16,19)

(единадесет, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Разменяйте от 15> 10

(11,10,15,16,19) -> (11,10,15,16,19)

(11,10,15,16,19) -> (11,10,15,16,19)

Четвърто преминаване:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Разменяйте от 11> 10

Крайният изход е (10,11,15,16,19)

Нека сега кодираме това -

Програма Python за прилагане на Bubble Sort

a = [16, 19, 11, 15, 10, 12, 14]

# повтарящ се цикъл len (a) (брой елементи) брой пъти за j в обхват (len (a)): # първоначално разменена е фалшиво заменена = False i = 0, докато ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] #Changing the value of swapped swapped = True i = i + 1 #if swapped is false then the list is sorted #we can stop the loop ако е разменен == False: прекъсване на отпечатване (a)
 ИЗХОД: 


В горния код сравняваме съседните числа и ги разменяме, ако не са в правилния ред. Повторете същия процес len (a) брой пъти. Присвоихме променлива „разменено“ и го направихме „Вярно“, ако в итерация се сменят всеки два елемента. И ако няма обмен на елементи, тогава списъкът вече е сортиран и следователно няма промяна в стойността на „размененото“ и можем да прекъснем цикъла.

С това стигаме до края на блога, озаглавен „Как да приложим Bubble Sort в Python“. Надявам се съдържанието да добави стойност към вашите знания за Python.

Уверете се, че практикувате възможно най-много и връщате опита си.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог „Как да приложим Bubble Sort в Python“ и ние ще се свържем с вас възможно най-скоро.

За да получите задълбочени познания за Python заедно с различните му приложения, можете да се регистрирате за живо с 24/7 поддръжка и доживотен достъп.