Сортиране на балони в Python - Обяснение на сортирането на балончета с примерен код

Съдържание:

Anonim

Въведение в Bubble Sort в Python

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

Смесване на балон понякога също се нарича сортиране потъване, сортиране Ripple.

Нека го видим чрез пример:

Първо изпълнение

( 6 1 4 3) -> ( 1 6 4 2): Тук 1- ви два елемента се разменят, ако редът не е правилен.

(1 6 4 2) -> (1 4 6 2): Тук следващите два елемента се разменят, ако редът не е правилен.

(1 4 6 2 ) -> (1 4 2 6 ): Тук следващите два елемента се разменят, ако редът не е правилен.

Второ изпълнение

( 1 4 2 6) -> ( 1 4 2 6): Тук се сравняват 1- ви два елемента, но не се разменят, тъй като редът е правилен.

(1 4 2 6) -> (1 2 4 6): Тук следващите два елемента се разменят, тъй като редът не беше правилен.

(1 2 4 6 ) -> (1 2 4 6 ): Тук се сравняват последните два елемента, но не се разменят както е редът

Сега знаем, че масивът е сортиран, но един алгоритъм е необходим без суап, за да се знае дали се извършва сортиране.

Трето бягане

( 1 2 4 6) -> ( 1 2 4 6): Няма размяна на първите два елемента.

(1 2 4 6) -> (1 2 4 6): Без суап в следващите два елемента.

(1 2 4 6 ) -> (1 2 4 6 ): Няма замяна в последните два елемента.

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

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

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

Сега нека видим логичното изпълнение на сортирането на балонче през python. Python е много широко използван език в наши дни. Разбирането му чрез python със сигурност ще ви даде увереност да можете да го напишете и на други езици.

Python Code

def bubble_Sort(arr):
m = len(arr)
# Traverse through all the array elements
for u in range(m):
for v in range(0, mu-1):
# traverse the array from 0 to mu-1
# Swap if the element is greater than adjacent next one
if arr(v) > arr(v+1) :
arr(v), arr(v+1) = arr(v+1), arr(v)

За да отпечатате масив след сортиране на балон, трябва да следвате кода:

for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.

Обяснение на Python код

Тук “m” е дължината на масива. Две за контури съдържат действителната логика на заземяването, където „u” представлява първия елемент, докато „v” представлява вторият, с който първият елемент трябва да се сравнява за размяна, ако редът на сортиране между двете не е правилен.

„Arr (v)> arr (v + 1)“ това представлява сравнението на последователни елементи, ако първият елемент е по-голям от втория елемент, операцията по обмен ще се извърши чрез следния израз:

Това е „arr (v), arr (v + 1) = arr (v + 1), arr (v)“.

Тази операция за обмен се нарича суап. Добрата част е, че не се изисква временна памет за този вид операция за размяна.

„U” представлява цикъл на всеки цикъл, докато „v” представлява етапи на всеки етап. Може да се посочи пример в горния раздел.

След извършване на сортиране на балончета, можете да видите сортирания масив с код, споменат по-долу:

for i in range(len(arr)):
print ("%d" %arr(i)),

Нека да видим как се държи това в Python IDE, за по-дълбоко разбиране:

изход:

Има няколко факта за Bubble Sort, които всеки трябва да знае, преди да го приложи:

  1. Сортирането на балончетата често се счита за не добър ефективен метод за сортиране. Тъй като той трябва да обменя предметите, докато не се знае окончателното му местоположение. Всичко това води до пропиляване на операции и следователно много скъпо. Този алгоритъм преминава през всеки елемент, където се изисква сортиране или не. След като цикълът премине без никакъв суап, сортирането на балончета се счита за завършено.
  2. Това е най-простото сред всички структури от данни, за всеки начинаещ това дава добра увереност. Лесно е да се конструира и разбере.
  3. Използва много време и памет.
  4. Това се счита за стабилен алгоритъм, тъй като запазва относителния ред на елементите.
  5. Счита се за добър за малък масив / списък. Въпреки това е лоша идея да го използвате за дълги.

заключение

Преминавайки по-горе съдържанието на сортиране на балончета, човек би могъл да има кристално ясно разбиране на този алгоритъм за сортиране, специализиран с python. Веднъж човек се чувства удобно с логиката на сортиране на балончета, разбирането на другия набор от структури от данни ще бъде по-лесно. Логическият подход е единственият начин за постигане на отлични резултати в областта на структурата на данните. Разбирането първо на логиката на алгоритъма на структурата на данните на всеки етап и след това насочването на кода му през Python или на който и да е друг език трябва да бъде начинът.

Препоръчителни статии

Това е ръководство за сортиране на балони в Python. Тук обсъждаме логическата реализация на сортирането на балони чрез python код с обяснението. Можете също да разгледате следната статия, за да научите повече -

  1. Примки в Python
  2. Python File Operations
  3. Палиндром в Python
  4. 3d масиви в Python
  5. Функции на Python
  6. Размяна в PHP
  7. 3D масиви в C ++
  8. Палиндром в C ++
  9. Палиндром в JavaScript
  10. Как работят масиви и списъци в Python?