Рубрики
Без рубрики

Алгоритм сортировки пузыря в Python

Python 101: Сегодняшняя тема – это алгоритм сортировки пузыря.

Автор оригинала: Chris.

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

Bubble Sort Python Algorith

def bubblesort(lst):
    for passesLeft in range(len(lst)-1, 0, -1):
        for i in range(passesLeft):
            if lst[i] > lst[i + 1]:
                lst[i], lst[i + 1] = lst[i + 1], lst[i]
    return lst

l = [5, 3, 4, 1, 2, 0]
print(bubblesort(l))
# [0, 1, 2, 3, 4, 5]

Объяснение алгоритма сортировки пузыря

Точный алгоритм работает следующим образом. Внешняя переменная индекса граница отмечает индекс, после чего элементы правого списка уже отсортированы.

Внутренняя переменная индекса Я идет слева направо, пока не достигнет индексной переменной границы. На свой путь справа он переключает два последующих элемента списка, если первый элемент больше, чем второй элемент.

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

Далее второй по величине элемент поднимется на вершину, а процедура повторяется.

Осторожно изучите этот базовый алгоритмический рисунок. Каждое компьютерные ученые и каждый замечатель должен это знать.

Пузырькая головоломка

Можете ли вы решить следующую головоломку на нашем интерактивном приложении головоломки Finxter? (Нажмите, чтобы решить)

Вы мастер-кодер? Проверьте свои навыки сейчас!

Видео сортировки пузыря

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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