Алгоритмы сортировки Python: пузырьковая сортировка и сортировка слиянием
Изучите алгоритмы сортировки Python. Визуализируйте пузырьковую сортировку и сортировку слиянием в контексте IDE браузера.
Обзор
Сортировка — одна из наиболее важных операций в разработке программного обеспечения. Хотя Python предоставляет `.sort()` изначально с использованием Timsort, понимание фундаментальных алгоритмов сортировки имеет важное значение для знаний в области архитектуры.
Пузырьковая сортировка основана на переборе сравнения O(n²). Сортировка слиянием основана на рекурсивных методологиях O(n log n) «разделяй и властвуй».
Код и вывод выполнения
Выполнение стандартной пузырьковой сортировки для упорядочения массива в порядке возрастания.
def bubble_sort(arr):
n = len(arr)
# Traverse through all array elements
for i in range(n):
swapped = False
# Last i elements are already in place
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
# Swap if the element found is greater
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
sample = [64, 34, 25, 12, 22, 11, 90]
print("Original:", sample)
print("Sorted: ", bubble_sort(sample))Original: [64, 34, 25, 12, 22, 11, 90]
Sorted: [11, 12, 22, 25, 34, 64, 90]Пошаговая реализация
- Очистка и организация конвейера данных
- Базовое обучение информатике
- Внутренняя оптимизация слоев отображения запросов
Часто задаваемые вопросы
Когда мне следует написать собственную функцию сортировки?
Редко. Вы изучаете алгоритмы сортировки в основном для понимания сложности алгоритмов. В рабочей среде всегда используйте встроенную функцию sorted(data) Python, поскольку это высокооптимизированный код C.
Связанные темы
Поиск в отсортированных списках осуществляется за логарифмическое время O(log n). Запускайте и разбирайтесь в двоичном поиске в Python, включая пошаговую логику, крайние случаи и оптимизации.
Генератор последовательностей Фибоначчи PythonЗапустите и поймите последовательность Фибоначчи на Python. В этом интерактивном примере кода показаны итеративные и рекурсивные подходы к созданию чисел Фибоначчи.