Как реализовать пузырьковую сортировку в Python?



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

Сортировка означает упорядочивание любых данных в порядке возрастания или убывания в соответствии с некоторой линейной зависимостью между элементами. Эта статья о пузырьковой сортировке в поможет вам подробно разобраться в этой концепции.

В этом блоге мы рассмотрим следующие темы:





Что такое пузырьковая сортировка?

Сортировка пузырьков также известна как сортировка по убыванию. Это простой алгоритм сортировки, который непрерывно проходит по списку для сортировки, сравнивая каждую пару соседних элементов и меняя их местами, если они не в правильном порядке. Эти шаги повторяются до тех пор, пока не перестанут нуждаться в свопах, что происходит при сортировке списка.

Шаги для выполнения пузырьковой сортировки

  • Сравните первый и второй элементы в списке и поменяйте местами, если они расположены в неправильном порядке.
  • Сравните второй и третий элементы и поменяйте их местами, если они расположены в неправильном порядке.
  • Аналогичным образом действуйте до последнего элемента списка.
  • Повторяйте все вышеперечисленные шаги, пока список не будет отсортирован.

Вышеупомянутые шаги будут более понятны при следующих визуализациях -



Сортировка пузырьков в Python - Edureka

разница между перегрузкой метода и переопределением в java



Алгоритм пузырьковой сортировки

Теперь давайте посмотрим на алгоритм пузырьковой сортировки.

Первый проход:

( 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

( 11, 16.15 , 10.19) -> (11, 15,16 , 10,19) - Поменять местами с 16> 15

как использовать итератор Java

(11.15, 16.10 , 19) -> (11,15, 10,16 , 19) - Поменять местами, поскольку 16> 10

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

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

Третий проход:

( 11, 15.10 , 16,19) -> (11, 15.10 , 16,19)

( 11, 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 для реализации пузырьковой сортировки

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

как найти тип данных в Python
# повторение цикла len (a) (количество элементов) количество раз для j в диапазоне (len (a)): # первоначальная замена - ложь swapped = False i = 0, а ia [i + 1]: # замена a [i ], a [i + 1] = a [i + 1], a [i] # Изменение значения swapped swapped = True i = i + 1 # если swapped ложно, то список отсортирован # мы можем остановить цикл если поменяно местами == False: прервать печать (a)
 ВЫВОД: 


В приведенном выше коде мы сравниваем соседние числа и меняем их местами, если они находятся в неправильном порядке. Повторите тот же процесс len (a) несколько раз. Мы присвоили переменной «swapped» и сделали ее «True», если любые два элемента меняются местами в итерации. И если нет обмена элементами, то список уже отсортирован, и, следовательно, нет изменений в значении «поменяно местами», и мы можем разорвать цикл.

На этом мы подошли к концу блога «Как реализовать пузырьковую сортировку в Python». Я надеюсь, что этот контент повысил ценность ваших знаний о Python.

Убедитесь, что вы тренируетесь как можно больше и верните свой опыт.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога «Как реализовать пузырьковую сортировку в Python», и мы свяжемся с вами как можно скорее.

Чтобы получить более глубокие знания о Python и его различных приложениях, вы можете зарегистрироваться в режиме реального времени. с круглосуточной поддержкой и пожизненным доступом.