Челночная сортировка

Челночная сортировка работает точно так же, как стандартный обмен,

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

Если ее ключ меньше, чем у предшественника, то выполняется обмен и начинается очередное

сравнение. Монеты

 
 


Пример.

5, 4, 1, 2, 3

J=1, I=1;

4 5 1 2 3

J=2, I=2;

4 1 5 2 3

I=1;

1 4 5 2 3

J=3, I=3;

1 4 2 5 3

I=2;

1 2 4 5 3

I=1;

1 2 4 5 3

J=4, I=4;

1 2 4 3 5

I=3;

1 2 3 4 5

I=2;

1, 2, 3, 4, 5

I=1;

1, 2, 3, 4, 5

Челночная сортировка характеризуется следующими параметрами.

Качественные:

1. Простота программирования.

2. Требуется наличие всех записей до начала сортировки.

3. Время на сортировку зависит от степени упорядоченности исходного набора данных

Количественные:

1. Число сравнений постоянно

N*(N-1) /2.

2. Число обменов:

минимальное - 0;

максимальное - N*(N-1)/2.

3. Дополнительный объем памяти требуется для запоминания одной записи при реализации операции обмена.

Структурограмма ускоренного алгоритма челночной сортировки представлена на рис.

Пример.

5, 4, 1, 2, 3

J=1, I=1;

FLAG=0;

4 5 1 2 3

FLAG=1; I=0;

J=2, I=2;

FLAG=0;

4 1 5 2 3

FLAG=1; I=1;

1 4 5 2 3

FLAG=1; I=0;

J=3, I=3;

FLAG=0;

1 4 2 5 3

FLAG=1; I=2;

1 2 4 5 3

FLAG=1; I=1;

FLAG=0;

J=4, I=4;

FLAG=0;

1 2 4 3 5

FLAG=1; I=3;

1 2 3 4 5

FLAG=1; I=2;

FLAG=0;

1, 2, 3, 4, 5

FLAG позволяет сократить число сравнений.


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



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