Методы сортировок и их реализации. Беляева И.В - 22 стр.

UptoLike

Составители: 

//
Упорядочиеает
элементы
массиеа
в
воэрастающсм
порядке.
//
Предусл
ов
ие:
мас
с
нв
tllе~,41/"Г'а~\'
с
осто
ит
1/3
/1
элем
ент
ов.
//
Постуслов
ие:
массив
fJle..:41/'r(~y
упорядочен
11()
в
о
3
.ра
с
т
(,11-/1,'
Т()
;
//
ч
исло
/1
остается
без
изм
енения.
1/
Вызываемая
фун
кция:
.S'}1lt11J.
//---------------------------------------------------------
{
Ьооl
хопеа
-==
false; //
Есл
и
выполняетсн
перестаковка.
//
принимает
значениекнзею»
нп!
ракк
= 1:
(ТJ{lSS
<..
п}
&&
'копеи;
-+"
+1
J
(1..
чн)
r
l
//
Инвариант:
массив
tll€i4,"rоР/J-z+I-/Jl.[s,\'
..
п-Г]
упорядочен.
//
(1
его
раз
..
мер
больше
размера
массива
lhe;-l,',<{гу{О
..
п-ракз]
зопег!
::::::
true,-
//
Массив
упорядочен
.
.for
(;111
таех
::::::
О;
таех
<::
п-разк;
+'
таех)
/
(
//
J
[нвариант:
размер
массива
IhеL"1Гl
lf
(
l)
:
j
/
/
.
indi!x-lj
,//
не
превышает
размера массива
11-1С)l,"jtOо}У'
Тпаех.
ии
пехнпаех
=- index
-+
/,'
!f>(thе~4гга}!{ill{lе.\,
:>
f/l(!А4г,.а.\/{nеХfl-"1(lе~);])
{
//
Il
ереставляем
элемент
Ь/
.\');1
J
(
;[
j } ( t-hej'l
rl"(I}'{,il'1d(?~Y}.
'h(!",/1
r}'(/)'[
пехл
Гпаех
]')
.,.
S()//4tcli
::::::::
falA.'ie.·
//
Приэнак
персстановки
I} (:/
K()llel-(
()
перат
ора
if'
} /,1
f{()HC11
()}7С!){1т()!){]
,!()//4
11
Д
иагностическое
утвержден
ие:
размер
массива
//
theArr(lJ,'/()
..
п-ра
ь:
~;,s-Il-
меньше
!)t;13J\4(?/.)(/
J"1(1(~(:1~(---)a
/~/
t
heA
/""ra.y /
п-разз
1
/
1/
K{)fICl/
оператора
.!()r
}//Z<'""()/lel.j
функции
bllhlJleS()rl
Анализ.
Как
указывалось
выше,
количество
проходов
при
исполь.зовании
метода
пузырька
не
превышает
n-l.
При
первом
проходе
выполняется
n-l
сравнением
не
больше
n-l
перестановок.
При
втором
проходе
выполняется
n-2
сравнения
и
не
больше
n-2
перестановок.
В
общем,
при
l-M
проходе
выполняется
n-l
сравнений
и
не
больше
n-l
перестановок.
Следовательно,
в
худшем
случае
при
сортировке
методом
пузырька
будет
выполнено
(n-I)+(n-2)+
...
+1
==
n*(n-I)/2
сравнений
и
столько
же
перестановок.
Напомним,
что
при
каждой
перестановке
выполняется
три
присваивания.
Таким
образом,
общее
количество
основных
операций
в
худшем
случае
равно
2
2* n*
(n-l)
= 2 * n
-
2*n.
Следовательно,
в
худшем
случае
сложность
алгоритм
сортировки
методом
пузырька
равна
о(n
2
)
.
Лучшим
считается
вариант,
когда
исходные
данные
уже
упорядочены.
В
этом
случае
алгоритм
сортировки
методом
пузырька
сделает
только
один
проход,
выполнив
n-l
сравнений,
и
ни одной
перестановки.
21