БЛОЧНАЯ СОРТИРОВКА 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

Алгоритмы. Блочная сортировка

Алгоритмы. Поразрядная сортировка.

Информатика. Алгоритмы поиска и сортировки: Поразрядная сортировка. Центр онлайн-обучения «Фоксфорд»

BLGPG-3CCAF1FF7D47-24-11-23-21

Новые материалы: