Transcript 1 2
Підготувала:
учениця 11-а класу
ЧНВК № 10
Саніна Іванна
2009 р.
Зміст
1. Масив(структура даних).
2. Метод сортування вибором.
3. Сортування бульбашкою(обміном).
4. Сортування вставкою.
Масив (структура даних)
В програмуванні масив
(англ.array) — одна з
найпростіших структур даних,
сукупність елементів
переважно одного типу даних,
впорядкованих за індексами,
які зазвичай репрезентовані
натуральними числами, що
визначають положення
елемента в масиві.
Масив може бути одновимірним (вектором), та
багатовимірним (наприклад, двовимірною
таблицею), тобто таким, де індексом є не одне
число, а кортеж(сукупність) з декількох чисел,
кількість яких співпадає з розмірністю масива.
В переважній більшості мов програмування масив є
стандартною вбудованою структурою даних.
Ефективність операцій
Масиви ефективні при звертанні до довільного
елементу, яке відбувається за постійний час однак
такі операції як додавання та видалення елементу,
потребують часу де n — розмір масиву. Тому
масиви переважно використовуються для
зберігання даних, до елементів яких відбувається
довільний доступ без додавання або видалення
нових елементів, тоді як для алгоритмів с
інтенсивними операціями додавання та видалення,
ефективнішими є зв язані списки.
Збереження в пам'яті
Інша перевага масивів, яка є досить
важливою — це можливість
компактного збереження
послідовності їх елементів в
локальній області пам'яті (що не
завжди вдається, наприклад, для
зв'язаних списків), що дозволяє
ефективно виконувати операції з
послідовного обходу елементів
таких масивів.
Сортування вибором
Сортування вибором — простий
алгоритм сортування лінійного
масиву, наоснові вставок. Має
ефективність n2, що робить його
неефективним при сортування
велеких масивів, і в цілому, менш
ефективним за подібний
алгоритмсортування включенням.
Сортування вибором вирізняється
більшою простотою, ніж сортування
включенням, і в деяких випадках,
вищою продуктивністю.
Алгоритм працює наступним чином:
Знаходить у списку найменше значення
Міняє його місцями із першим значеннями у списку
Повторює два попередніх кроки, доки список не
завершиться (починаючи з другої позиції)
Сортування вставками також може
працювати зі списками, які
підтримують операції додавання і
видалення, як то зв'язаний список. У
такому разі, більш зручно видаляти зі
списку найменший елемент, і
вставляти його в кінець відсортованої
частини масиву. Наприклад:
64 25 12 22 11
11 64 25 12 22
11 12 64 25 22
11 12 22 64 25
11 12 22 25 64
Сортування бульбашкою
Сортування обміном або Сортування бульбашкою є
простим алгоритм сортування. Алгоритм працює
наступним чином — у поданому наборі даних (списку
чи масиві) порівнюються два сусідні елементи. Якщо
один з елементів, не відповідає критерію сортування (є
більшим, або ж, навпаки, меншим за свого сусіда), то ці
два елементи міняються місцями. Прохід по списку
продовжується до тих пір, доки дані не будуть
відсортованими. Алгоритм отримав свою назву від
того, що процес сортування згідно нього нагадує
поведінку бульбашок повітря у резервуарі з водою.
Оскільки для роботи з елементами масиву він
використовує лише порівняння, це сортування на
основі порівнянь.
Візьмемо масив чисел "5 1 4 2 8", і за допомогою даного алгоритму,
відсортуємо його від найменшого до найбільшого елементу. На кожному
кроці, елементи, виділені жирним шрифтом будуть порівнюватись.
Перший прохід:
( 5 1 4 2 8 ) ( 1 5 4 2 8 ) Тут, алгоритм порівнює перші два елементи, і міняє
їх місцями.
(15428)(14528)
(14528)(14258)
( 1 4 2 5 8 ) ( 1 4 2 5 8 ) Тут порівнювані елементи знаходяться на своїх
місцях, тож алгоритм не міняє їх місцями.
Другий прохід:
(14258)(14258)
(14258)(12458)
(12458)(12458)
(12458)(12458)
Тепер наш масив повністю відсортований, однак, алгоритм цього ще не
знає. Йому потрібен ще один "пустий" прохід, під час якого від не поміняє
місцями жодного елементу.
Третій прохід:
(12458)(12458)
(12458)(12458)
(12458)(12458)
(12458)(12458)
Нарешті, масив відсортовано, і алгоритм може припинити свою роботу.
Сортування за допомогою
вставки
Принцип сортування: масив
розподіляється на відсортовану та
невідсортовану частини. На
першому кроці за відсортовану
частину (послідовність)
приймається перший елемент
масиву. Кожний наступний
елемент з невідсортованої частини
вставляємо в заздалегідь
відсортовану послідовність так,
щоб ця послідовність залишалась
відсортованою.
При цьому треба:
1. Знайти місце, куди потрібно вставити
цей елемент.
2. Зсунути елементи, що стоять справа у
відсортованій частині, на одну позицію
вправо.
3. На звільнене місце поставити елемент,
що аналізується(вставляється).
Два способи виконання цих дій:
1) кожний наступний елемент порівнюється з
елементами у відсортованій частині, знаходиться
місце вставки, всі наступні елементи зсуваються на
одну позицію вправо і після цього вставляється
елемент;
2) елемент, що вставляється, послідовно, зліва
направо, порівнюється з кожним із елементів у
відсортованій частині. Якщо потрібно, елемент у
відсортованій частині одразу зсувається на одну
позицію вправо. Як тільки знайдено потрібне місце
вставки, елемент, що аналізується, вставляється на
потрібну позицїю.