ВУЗ:
Составители:
Рубрика:
//
Z)
сортируя
первую
половину
массива:
//
2)
сортируя
61'n()p)'1()
половину
,
массива:
//
_1)
объединяя
две
упорядоченные
//11'10J/OBU1-1
ы
массива.
ij-
(!lГSl
<~
I(Jst)
(
l
1111(:!
==
(fiг~,;'t
+
las~),/2
//
Определяем
серед
и
ну
,
,//
Сортируем
отрезок
/1
т
t
пе
Аз-па,
'[!Z}'"5;t
..
т
ilij
т
erge.s'()rt
(tI1C/4
кпау,
.fl1~,,'t,
тла)
/~/
Сортируем
(JI'1'11)(!3()K
th
сА
г}"'
(1)'
[т
i
(1-+-
1.. 1
с'
s
')
т
f?
Г<-«
е
s
о
Г'
t
(!
пс.!
,..,--
(J)
i,
П1
i(I + 1.
[ая«)
,//
Объед
1111>1
е./\;l
упоря
до
чен
1-[
ы
е
отрез
!{11 ///11(;./1 }'"I'"(J},
[111'"8
{..
П'1
i{}J
н
1
heA
rr(l~~'"
["т
1(J-t- J ..
/(1
S
1)
n1el
Af{e(the/11"·(I)J,
.llr.\'I,
т
и],
/CI8~)
}
//
Конец
оператора
j!~
/'l
Е(~.Л
иПг»
t >
~=
Га»
1,
операции
з
авериссн
ы
Совершенно
ясно,
что
основные
операции
этого
алгоритма
выполняются
на
этапе
слияния,
и
все
же,
почему
в
результате
возникает
упорядоченный
массив?
Рекурсивные
вызовы
продолжают
разделять
части
массива
пополам,
пока
в
них
не
останется
только
по
одному
элементу.
Очевидно,
что
массив,
состоящий
из
одного
элемента,
является
упорядоченным.
Затем
алгоритм
объединяет
фрагменты
массива,
пока
не
образуется
один
упорядоченный
массив.
Рекурсивные
вызовы
функции
mergesort
и
результаты
слияний
проиллюстрированы
на
рис.
9
на
примере
массива,
состоящего
из
шести
целых
чисел.
/
\ / I
\ / I
~
<,
I
/
I
I
I
I
I
Рекурсивные
вызовы
<, <,
I
..............
I
~
<,
<,
<,
Слияние
<,
<,
РИСУНОК
9.
Сортировка
методом
СЛИЯНИЯ
массива,
состоящего
из
шести
целых
чисел
26
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »