Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Сортування Шелла. 
Паралельні і розподілені обчислення

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Сортування Шелла (англ. Shell sort) — алгоритм сортування, що є вдосконаленим варіантом сортування вставками. Ідея методу Шелла полягає в порівнянні елементів, що стоять не тільки поруч, але і на певній відстані один від одного. Іншими словами — це сортування вставками з попередніми «грубими» проходами. Аналогічний метод удосконалення бульбашкового сортування називається сортування гребінцем… Читати ще >

Сортування Шелла. Паралельні і розподілені обчислення (реферат, курсова, диплом, контрольна)

Сортування Шелла (англ. Shell sort) — алгоритм сортування, що є вдосконаленим варіантом сортування вставками. Ідея методу Шелла полягає в порівнянні елементів, що стоять не тільки поруч, але і на певній відстані один від одного. Іншими словами — це сортування вставками з попередніми «грубими» проходами. Аналогічний метод удосконалення бульбашкового сортування називається сортування гребінцем.

Під час сортування Шелла спочатку порівнюються і сортуються між собою значення, віддалені один від одного на деякій відстані (про вибір значення див. нижче). Після цього процедура повторюється для деяких менших значень, а завершується сортування Шелла упорядкуванням елементів при (тобто звичайної сортуванням вставками). Ефективність сортування Шелла в певних випадках забезпечується тим, що елементи «швидше» встають на свої місця (в простих методах сортування, наприклад, бульбашкової, кожна перестановка двох елементів зменшує кількість інверсій у списку максимум на 1, а при сортуванні Шелла це число може бути більше).

Незважаючи на те, що сортування Шелла в багатьох випадках повільніше, ніж швидке сортування, вона має ряд переваг:

  • — відсутність потреби в пам’яті під стек;
  • — відсутність деградації при невдалих наборах даних — швидке сортування легко деградує до O (n 2), що гірше, ніж найгірше гарантований час для сортування Шелла.

Приклад (рис. 1.3.1):

Нехай дано список: А = (32,95,16,82,24,66,35,19,75,54,40,43,93,68) і.

виконується його сортування методом Шелла, а в якості значень вибрані: 5, 3, 1.

На першому кроці упорядковаются підсписки А, складені з усіх елементів А, що розрізняються на 5 позицій, тобто підсписки А51 = (32,66,40), АБ2 = (95,35,43), Л5,3 = (16,19,93), Л5,4 = (82,75,68), Л5,5 = (24,54).

В отриманому списку на другому кроці знову сортуються підсписки з віддалених на 3 позиції елементів.

Процес завершується звичайної сортуванням вставками отриманого списку.

Сортування Шелла.

Рисунок 1.2.4. Сортування Шелла.

Показати весь текст
Заповнити форму поточною роботою