Алгоритм сортировки «пузырьком» заключается в следующем. Пусть мы имеем
не отсортированный массив (a1, a2, ...,aN). Для того, чтобы отсортировать данный
массив, требуется n-итераций, на каждой из которых производится
последовательное сравнение двух соседних элементов. В результате каждого
сравнения эти элементы меняются местами в случае их непоследовательности. После
каждой итерации на месте элемента aN будет стоять наибольший (наименьший)
элемент исходной последовательности, после чего длина исходного массива
уменьшается на единицу, и на новой итерации сортируется массив (a1, a2, ...
aN-1).
Параллельная
модификация алгоритма сортировки «пузырьком» заключается в следующем.
Пусть
мы, как и прежде, имеем не отсортированный массив (a1, a2, ... aN), который с
помощью данного алгоритма будет отсортирован за n-итераций,
но требующий n/2 операций сравнения
и перестановки. Данный алгоритм разбит на 2 фазы. На первой – нечетной фазе
происходит сравнение элементов с нечетными индексами с их правыми соседями и в
случае их непоследовательности производится перестановка. Аналогично проходит и вторая фаза – четная. Отличие
состоит в том, что в данной фазе сравниваются элементы с четными индексами
и их правые соседи.
