42
правки
Изменения
Нет описания правки
'''Карманная сортировка'''(Bucket sort) — алгоритм сортировки , основанный на предположении о равномерном распределении входных данных.
== Алгоритм сортировки ==
=== Принцип работы алгоритма ===
[[Файл:Bucket-sort-example.jpg|right|300px|thumb|Пример работы рекурсивного Bucketsort.]]
* элементы массива входных данных разбиваются на <tex>k</tex> блоков ("карманов","корзин").
* каждый из блоков сортируется либо другой сортировкой, либо рекурсивно тем же методом разбиения.
* Из из каждого отсортированного блока данные записываются в массив в порядке разбиения на блоки.Важно отметить , что разбиение на блоки производится таким образом, чтобы элементы каждого следующего блока были бы больше предыдущего.=== Реализация Алгоритма===
Рассмотрим код работы алгоритма.
P длина каждой строки.
<wikitex>
Bucketsort(A,j){// A - массив данных, j - текущий разряд if (A.length() < 2 || i j == p + 1)
return A;
buckets <- инициализируем массив длины Base , где каждая ячейка список входных объектов (в нашем случаи