Изменения

Перейти к: навигация, поиск

Сортировка кучей

3 байта убрано, 22:44, 3 июня 2012
Нет описания правки
== Пример ==
'''''РАЗДЕЛ В РАЗРАБОТКЕ'''''
{|align="right"
|-valign="top"
|[[Файл:Документ1.jpg|120px|right|thumb|Строим кучу]]
|[[Файл:Документ2.jpg|120px|right|thumb|Первый проход]]
|[[Файл:Документ3.jpg|120px|right|thumb|Второй проход]]
|-
|[[Файл:Документ4.jpg|120px|right|thumb|Четвертый проход]]
|[[Файл:Документ5.jpg|120px|right|thumb|Пятый проход]]
|[[Файл:Документ6.jpg|120px|right|thumb|Массив отсортирован]]
|}
Пусть дана последовательность из <tex>5</tex> элементов <tex>53, 2, 4, 1, 2, 35</tex>.
{| style="background-color:#CCC;margin:0.5px"
!style="background-color:#EEE"| Описание шага
|-
|colspanstyle="background-color:#FFF;padding:2px 10px"| 5 34 1 2|style="background-color:#FFF;padding:2px 10px"|''Первый проход (текущий массив начинается с первого элемента)''Строим кучу из исходного массива
|-
|stylecolspan="background-color:#FFF;padding:2px 10px"| 5 4 '''1''' 2 3|style="background-color:#FFF;padding:2px 10px"| Находим первый минимальный элемент {{---}} '''1'Первый проход''
|-
|style="background-color:#FFF;padding:2px 10px"| '''12''' 3 4 1 '''5''' 2 3|style="background-color:#FFF;padding:2px 10px"| Меняем минимальный местами первый и первый последний элементы местами
|-
|colspanstyle=3"background-color:#FFF;padding:2px 10px"|''Второй проход (текущий массив начинается со следующего элемента)'4'''3 2 1 5|style="background-color:#FFF;padding:2px 10px"| Строим кучу из первых четырех элементов
|-
|stylecolspan="background-color:#FFF;padding:2px 10px"| 1 5 4 '''2''' 3|style="background-color:#FFF;padding:2px 10px"| Находим следующий минимальный элемент {{---}} '''2'Второй проход''
|-
|style="background-color:#FFF;padding:2px 10px"| '''1 '''3 2''' 4 '''5''' 3|style="background-color:#FFF;padding:2px 10px"| Меняем минимальный местами первый и второй четвертый элементы местами
|-
|colspanstyle=3"background-color:#FFF;padding:2px 10px"|''Третий проход (текущий массив начинается со следующего элемента)'3'''1 2 4 5|style="background-color:#FFF;padding:2px 10px"| Строим кучу из первых трех элементов
|-
|stylecolspan="background-color:#FFF;padding:2px 10px"| 1 2 4 5 '''3'''|style="background-color:#FFF;padding:2px 10px"| Находим следующий минимальный элемент {{---}} '''3'Третий проход''
|-
|style="background-color:#FFF;padding:2px 10px"| 1 2 '''32''' 5 1 '''43'''4 5|style="background-color:#FFF;padding:2px 10px"| Меняем минимальный местами первый и третий элементы местами
|-
|colspanstyle=3"background-color:#FFF;padding:2px 10px"|''Четвертый проход (текущий массив начинается со следующего элемента)'2'''1 3 4 5|style="background-color:#FFF;padding:2px 10px"| Строим кучу из двух элементов
|-
|stylecolspan="background-color:#FFF;padding:2px 10px"| 1 2 3 5 '''4'''|style="background-color:#FFF;padding:2px 10px"| Находим следующий минимальный элемент {{---}} '''4'Четвертый проход''
|-
|style="background-color:#FFF;padding:2px 10px"| 1 2 3 '''41''' '''52'''3 4 5|style="background-color:#FFF;padding:2px 10px"| Меняем минимальный местами первый и четвертый второй элементы местами
|-
|style="background-color:#FFF;padding:2px 10px"| 1 2 3 4 5
61
правка

Навигация