Сортирането означава подреждане на всякакви данни в нарастващ или намаляващ ред според някаква линейна връзка между елементите. Тази статия за Bubble Sort in ще ви помогне да разберете подробно тази концепция.
В този блог ще разгледаме следните теми:
- Какво е сортиране на балончета?
- Стъпки за извършване на сортиране на балончета
- Алгоритъм за сортиране на балончета
- Програма за изпълнение на Python ent Bubble Sort
Какво е сортиране на балончета?
Сортирането на мехурчета е известно и като потъващо сортиране. Това е прост алгоритъм за сортиране, който непрекъснато стъпва през списъка, за да бъде сортиран, като сравнява всяка двойка съседни елементи и ги разменя, ако не са в правилния ред. Стъпките се повтарят, докато не са необходими повече суапове, когато списъкът се сортира.
Стъпки за извършване на сортиране на балончета
- Сравнете първия и втория елемент в списъка и ги разменете, ако са в грешен ред.
- Сравнете втория и третия елемент и ги разменете, ако са в грешен ред.
- Продължете по подобен начин до последния елемент от списъка по подобен начин.
- Продължавайте да повтаряте всички горепосочени стъпки, докато списъкът не бъде сортиран.
Горните стъпки ще бъдат по-ясни от следните визуализации -
Алгоритъм за сортиране на балончета
Сега нека разгледаме алгоритъма зад 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 поддръжка и доживотен достъп.