Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VOPROS_K_EKZAMENU_SiAOD.docx
Скачиваний:
65
Добавлен:
27.09.2019
Размер:
120.34 Кб
Скачать
  1. Сортировка с помощью метода прямого выбора.

Алгоритм сортировки массива по возрастанию методом прямого выбора может быть представлен так:

1. Просматривая массив от первого элемента, найти минимальный элемент и поместить его на место первого элемента, а первый — на место минимального.

2. Просматривая массив от второго элемента, найти минимальный элемент и поместить его на место второго элемента, а второй — на место минимального.

3. И так далее до предпоследнего элемента.

  1. Основные идеи методов сортировки с помощью обмена.

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

В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением — к концу массива (тонут). Поэтому данный метод сортировки обменом иногда называют методом "пузырька". Этот процесс повторяется столько раз, сколько элементов в массиве, минус единица.

Все сортировки основаны на обмене значений эл-ов. Поэтому рассматриваемая нами классификация алгоритмов сортировки не является слишком строгой.

В семействе алгоритмов относящихся по этой классификации к обменным сорировкам обмен значений является основной операцией. Поэтому алгоритмы и названы алгоритмы обменной сортировки.

Наиболее известными из этого семейства алгоритмов явл. метод прямого обмена кот. известнее под названием метод пузырька.

  1. Сортировка методом прямого обмена.

Массив b1…bi-1bi…bn. Справа налево сравниваем эл. и его соседний.

Наиболее известным из этого семейства алгоритмов явл метод прямого обмена, кто известен под названием «метод пузырька».

Метод пузырька .

6392610 прогоняем0 0|639261 прогоняем1 01|63926 0163926 прогоняем2 012|6396 0126369 0123|669 0123669 01236|69 012366|9

  1. Улучшенный метод простых вставок.-бинарная

Улучшение метода простых вставок:

Для поиска места вставляемого эл-та исп. метод двоичного поиска, метод деления пополам.

b1 b2 b3 b4 b5a

Делим отсортированную часть пополам

2 2 8 7 4 6 9

2 2 8 7 4 6 9

2 2 8 7 4 6 9

2 2 7 8 4 6 9

2 2 4 7 8 6 9

2 2 4 6 7 8 9

2 2 4 6 7 8 9

  1. Улучшения метода пузырька.

Улучшение метода пузырька:

  1. Нужно запоминать осуществлялись ли перестановки в процессе некоторого прохода. Если в последнем проходе перестановок не было, то алгоритм можно заканчивать.

  2. Мы запоминаем индекс с последним обменом. И все эл до индекса явл уже упорядоченными. И в этом случае отсортированную часть можно увеличить не на 1 эл, а до эл-та с последним обменом.

  1. Алгоритм шейкерной сортировки.

Плохо расположенный эл. с большим знач. ключа будет перемещаться на свое место т. на 1 шаг при каждом проходе.

Нужно чередовать направление последовательных просмотров и полученный алгорит наз. алгоритмом шейкерной сортировки.

3 7 2 9 1 6 5 1 4 8 8

3 7 2 9 1 6 1 5 4 8 8

3 7 2 9 1 1 6 5 4 8 8

3 7 2 1 9 1 6 5 4 8 8

3 7 1 2 9 1 6 5 4 8 8

3 1 7 2 9 1 6 5 4 8 8

1 |3 7 2 9 1 6 5 4 8 8

1 3 2 7 9 1 6 5 4 8 8

1 3 2 7 1 9 6 5 4 8 8

1 3 2 7 1 6 9 5 4 8 8

1 3 2 7 1 6 5 9 4 8 8

1 3 2 7 1 6 5 4 9 8 8

1 3 2 7 1 6 5 4 8 9 8

1 3 2 7 1 6 5 4 8 8| 9

И т.д. в одну и другую сторону.