БЛОЧНАЯ СОРТИРОВКА PYTHON
Блочная сортировка (англ. Bucket sort) – это алгоритм сортировки элементов массива, который использует дополнительный массив – бакет, для хранения промежуточных результатов сортировки. Он относится к алгоритмам с линейной сложностью (O(n)), так как основная работа состоит в распределении элементов массива в бакеты и последующей сортировке каждого бакета.
Рассмотрим простейший пример блочной сортировки на языке Python:
def bucket_sort(arr): bucket = [] for i in range(len(arr)): bucket.append([]) for j in arr: index_b = int(10 * j) bucket[index_b].append(j) for i in range(len(arr)): bucket[i] = sorted(bucket[i]) k = 0 for i in range(len(arr)): for j in range(len(bucket[i])): arr[k] = bucket[i][j] k += 1 return arr
В данном примере массив сначала разбивается на десять равных частей, при помощи создания десяти пустых списков. Затем каждый элемент исходного массива помещается в соответствующий бакет. После этого происходит сортировка каждого бакета и объединение элементов в один массив в нужном порядке.
Основным преимуществом блочной сортировки является эффективность на больших наборах данных. Кроме того, эта сортировка не требует дополнительной памяти для хранения временных данных, кроме массива-бакета.
53 Сортировка коллекций в Python. Метод sort и функция sorted
Bucket Sort - Карманная сортировка - пример на C#
#8. Сортировка выбором - Алгоритмы на Python
Алгоритмы. Блочная сортировка
Алгоритмы. Поразрядная сортировка.
Информатика. Алгоритмы поиска и сортировки: Поразрядная сортировка. Центр онлайн-обучения «Фоксфорд»
Новые материалы:
- Что означает title в python
- Метод unique python
- Python tkinter многопоточность
- Django количество просмотров
- Pytest что такое фикстура
- Арифметическое кодирование python
- Однопроходные алгоритмы python
- Cx freeze python как пользоваться
- Как создать инициализатор класса someclass python
- Как вывести список без скобок в python
- Python двумерный массив задачи
- Could not convert string to float python ошибка
- Дана последовательность из n вещественных чисел первое число в последовательности нечетное python