Сортировка означает упорядочивание любых данных в порядке возрастания или убывания в соответствии с некоторой линейной зависимостью между элементами. Эта статья о пузырьковой сортировке в поможет вам подробно разобраться в этой концепции.
В этом блоге мы рассмотрим следующие темы:
- Что такое пузырьковая сортировка?
- Шаги для выполнения пузырьковой сортировки
- Алгоритм пузырьковой сортировки
- Программа Python для реализации Ent Пузырьковая сортировка
Что такое пузырьковая сортировка?
Сортировка пузырьков также известна как сортировка по убыванию. Это простой алгоритм сортировки, который непрерывно проходит по списку для сортировки, сравнивая каждую пару соседних элементов и меняя их местами, если они не в правильном порядке. Эти шаги повторяются до тех пор, пока не перестанут нуждаться в свопах, что происходит при сортировке списка.
Шаги для выполнения пузырьковой сортировки
- Сравните первый и второй элементы в списке и поменяйте местами, если они расположены в неправильном порядке.
- Сравните второй и третий элементы и поменяйте их местами, если они расположены в неправильном порядке.
- Аналогичным образом действуйте до последнего элемента списка.
- Повторяйте все вышеперечисленные шаги, пока список не будет отсортирован.
Вышеупомянутые шаги будут более понятны при следующих визуализациях -
разница между перегрузкой метода и переопределением в 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 и его различных приложениях, вы можете зарегистрироваться в режиме реального времени. с круглосуточной поддержкой и пожизненным доступом.