Сортування стало важливим предметом обчислювальної математики в основному
тому, що воно займає значну частину часу роботи програм – близько 25% всього
часу обчислень витрачається на сортування даних. Сортування також є важливим
засобом для прискорення роботи майже будь-якого алгоритму, в якому потрібно
часто звертатися до певних елементів.Більшість програм, які використовують
методи сортування віддають перевагу найпростішим алгоритмам. По-перше,
дуже часто програма сортування використовується лише один або кілька
разів. Після того, як вдалося вирішити «проблему» сортування для певного
набору даних, в подальшому необхідність в сортуванні, в програмах, які маніпулюють
цими даними, відпадає. Якщо елементарне сортування працює не
повільніше ніж
інші частини програми, що виконують обробку даних, то відпадає
необхідність пошуку швидших методів сортування. Якщо кількість
елементів, що сортуються, не дуже велика (до кількох сотень),
можна просто скористатися простим методом і не ламати голову над тим, як
працює інтерфейс для системного сортування, або як написати і налагодити програму,
що реалізує який-небудь складний метод сортування. По-друге, елементарні
методи завжди підходять для наборів невеликих розмірів (до
кількох десятків елементів) – складні алгоритми, в загальному випадку,
супроводжуються додатковими затратами ресурсів. Це призводить до того, що
на наборах малих розмірів вони працюють повільніше елементарних методів
сортування. Це нас не турбуватиме доти, доки не виникне необхідність
сортування великої кількості наборів невеликих розмірів. Іншими типами
наборів, сортування яких значно спрощене, є набори з майже завершеним
упорядкуванням, або набори, які містять велику кількість однакових даних.
Класифікація методів сортування
за принципом роботи:
–адаптивні - сортування виконує різні послідовні операції в залежності від
результатів порівняння;
–неадаптивні - послідовність операцій, які вони виконують, не
залежить від порядку слідування даних (наприклад:
бульбашковий, метод вставок та метод вибору).
Комментариев нет:
Отправить комментарий