Сортування бульбашок в Python - Пояснення сортування бульбашок із зразковим кодом

Зміст:

Anonim

Вступ до сортування бульбашок у Python

Сортування бульбашок - простий і логічний алгоритм сортування. Принцип його роботи базується на рекурсивно замінюванні суміжних елементів, якщо порядок невірний. У цій темі ми дізнаємось про сортування бульбашок у Python.

Сорт бульбашок іноді також називають сортуючим сортуванням, сортуванням Ripple.

Розглянемо це на прикладі:

Перший пробіг

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

(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

Тепер побачимо логічну реалізацію сортування бульбашок через python. Python - це дуже поширена мова в наші дні. Розуміння цього через python, безумовно, надасть вам впевненості, що зможете написати його також на будь-яких інших мовах.

Код Пітона

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 для глибшого розуміння:

Вихід:

Є кілька фактів про сортування бульбашок, які кожен повинен знати, перш ніж застосовувати його:

  1. Сортування бульбашок часто розглядають як не дуже ефективний метод сортування. Оскільки він повинен обмінюватись предметами до тих пір, поки не стане відомо про його кінцеве місцезнаходження. Все це призводить до марнотратства операцій, а отже, до великих витрат. Цей алгоритм проходить через кожен елемент, де сортування потрібно чи не потрібно. Як тільки пробіг проходить без будь-якого заміну, сортування міхурів вважається завершеним.
  2. Це найпростіший серед усіх структур даних, для будь-якого новачка це дає хорошу впевненість. Це легко сконструювати та зрозуміти.
  3. На це використовується багато часу та пам'яті.
  4. Це вважається стабільним алгоритмом, оскільки він зберігає відносний порядок елементів.
  5. Вважається хорошим для малого масиву / списку. Однак погана ідея використовувати його для довгих.

Висновок

Переглядаючи вищевказаний вміст сортування бульбашок, можна було зрозуміти чітко зрозуміле алгоритм сортування, що спеціалізується на python. Одного разу людині стане комфортно з логікою сортування бульбашок, зрозуміти інший набір структур даних буде тоді простіше. Логічний підхід - єдиний спосіб досягти успіху в галузі структури даних. Спочатку слід зрозуміти логіку алгоритму структури даних на кожному етапі, а потім націлити його на код через Python або будь-якою іншою мовою.

Рекомендовані статті

Це путівник по сортуванню бульбашок в Python. Тут ми обговорюємо логічну реалізацію сортування міхурів через код python із поясненням. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Петлі в Python
  2. Операції з файлом Python
  3. Паліндром у Python
  4. 3D масиви в Python
  5. Особливості Python
  6. Обмін на PHP
  7. 3D-масиви в C ++
  8. Паліндром у С ++
  9. Паліндром у JavaScript
  10. Як працюють масиви та списки в Python?