Учебно-методическое пособие. Алматы, 2017 ббк



бет84/106
Дата03.01.2022
өлшемі483.39 Kb.
#451845
түріУчебно-методическое пособие
1   ...   80   81   82   83   84   85   86   87   ...   106
УЧЕБНИКПаскаль(100217)

Название сортировки

Количество сравнений

Количество присваиваний

Простой обмен (пузырьковая)

O(N2)

O(N2)

Прямой выбор

O(N2)

O(N)

Простая вставка

O(N2)

O(N2)

Бинарная (двоичная) вставка

O(NlogN)

O(N2)

Быстрая (QuickSort)

O(N2) (на практике O(NlogN))

O(N2) (на практике O(NlogN))

Слияниями

O(NlogN)

O(NlogN)

Пирамидальная (HeapSort)

O(NlogN)

O(NlogN)

Таким образом наилучшую теоретическую оценку имеют два последних из перечисленных в таблице алгоритмов, однако в практическом программировании для сортировки данных обычно используется QuickSort, как в силу высокой производительности (особенно выигрывает данный алгоритм по числу реально выполняемых присваиваний), так и в силу простой реализации.

Рассмотрим некоторые виды сортировок. Каждая программа сортировки использует два типа данных, определенных пользователем, которые определяются следующим образом:


type

DataItem = integer;

DataArray = array [1..80] of DataItem;

3.1.1. Линейная сортировка или сортировка выбором.

Этот метод сортировки основан на следующих принципах:

1. Выбирается максимальный элемент.

2. Он меняется местами с первым элементом А[1]. На первом месте оказывается максимальный элемент.

3. Дальше рассматривается только неотсортированная часть массива, и этот процесс повторяется с оставшимися (N - 1), (N - 2) элементами и т. д. до тех пор, пока не останется один самый маленький элемент.
procedure Linesort(var item: DataArray; count:integer);

var


i,j, Index: integer;

x: DataItem;


begin

for i:=1 to count-1 do

begin

index:=i;



{Поиск максимального элемента}

for j:=i+1 to n do

if item[index]< item[j] then index:=j;

{Обмен максимального элемента с первым рассматриваемым}

x:= item[i];

item[i]:= item[index];

item[index]:=x;

end;


end;




Достарыңызбен бөлісу:
1   ...   80   81   82   83   84   85   86   87   ...   106




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет