Словесное описание алгоритма. 0. В готовую подпоследовательность записывается a1, во вход-ную - a2, , an

0. В готовую подпоследовательность записывается a1, во вход-ную - a2,…, an.

1. i:=2.

2. Переносим элемент x = ai из входной подпоследовательности в готовую так, чтобы готовая подпоследовательность осталась отсортированной. Для этого:

а) расширяем готовую подпоследовательность слева с помощью барьера a 0 = x.

б) параметр цикла поиска подходящего места принимает значение j:=i-1;

в) пока x<aj, выполняется сдвиг элемента aj вправо (aj+1:= aj) и уменьшение j на единицу (j:= j -1);

г) aj+1:= x.

3. i: =i +1. Если i≤n, то переходим на п. 2, иначе сортировка закончена.

Алгоритм сортировки простыми включениями легко можно улучшить, пользуясь тем, что готовая подпоследовательность a1,…, ai+1, в которую нужно включить новый элемент, уже упорядочена. Поэтому место включения можно найти значительно быстрее. Очевидно, что здесь можно применить бинарный поиск, который исследует средний элемент готовой подпоследовательности и продолжает деление пополам, пока не будет найдено место включения. Модифицированный алгоритм сортировки называется сортировкой бинарными включениями.

 

Таблица 1.1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: