рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Сортування

Сортування - раздел Образование, ОПЕРАЦІЇ ЛОГІЧНОГО РІВНЯ   Для Самого Загального Випадку Задача Сортування Може Формулюв...

 

Для самого загального випадку задача сортування може формулюватися так: мається деяка неупорядкована вхідна множина ключів, необхідно одержати вихідну множину тих же ключів, упорядкованих за зростанням або зменшенням в чисельному чи лексикографічному порядку. З усіх задач програмування, сортування, можливо, має найбільш широкий вибір алгоритмів рішення. У даному розділі будуть розглянуті внутрішні алгоритми сортувань на прикладі масивів; зовнішні сортування (сортування файлів) поки не розглядаються.

Фактори, що впливають на вибір алгоритму сортування:

а) порядок алгоритму: степеневий O(Na), лінійні O(N) або логарифмічний O(loga(N));

б) необхідний ресурс пам'яті. Чи повинні вхідна і вихідна множини розташовуватися в різних областях пам'яті чи вихідна множина може бути сформована на місці вхідної. У такому випадку наявна область пам'яті в ході сортування динамічно перерозподіляється між вхідною і вихідною множинами; в) вихідна упорядкованість вхідної множини. У вхідному наборі можуть бути присутні упорядковані ділянки. У крайньому випадку вхідна множина може виявитися вже упорядкованою. Одні алгоритми не враховують початкової упорядкованості і вимагають того самого часу для сортування (у тому числі і вже упорядкованої) множини даного обсягу, інші виконуються тим швидше, чим краще упорядкованість на вході;

г) тимчасові характеристики операцій. При визначенні порядку алгоритму час виконання вважається звичайно пропорційним числу порівнянь ключів Ясно, однак, що порівняння числових ключів виконується швидше, ніж рядкових, операції пересилання, характерні для деяких алгоритмів, виконуються тим швидше, чим менше обсяг запису, і т.п. У залежності від характеристик запису таблиці може бути обраний алгоритм, що забезпечує мінімізацію числа тих чи інших операцій.;

д) складність алгоритму є не останнім показником при його виборі. Простий алгоритм вимагає меншого часу для його реалізації й імовірність помилки в реалізації його менше. При промисловому виготовленні програмного продукту вимоги дотримання термінів розробки і надійності продукту можуть навіть превалювати над вимогами ефективності функціонування.

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

1) Сортування вибіркою. З вхідної множини вибирається наступний за критерієм упорядкованості елемент і включається у вихідну множину на наступне за номером місце.

2) Сортування включенням. З вхідної множини вибирається наступний за номером елемент і включається у вихідну множину на те місце, яке він повинен займати відповідно до критерію упорядкованості ключів.

3) Сортування розподілом. Вхідна множина розбивається на ряд підмножин (можливо, меншого обсягу) і сортування проводиться усередині кожної такої підмножини.

4) Сортування злиттям. Вихідна множина получається шляхом злиття маленьких упорядкованих підмножин.

Всі алгоритми сортувань розглянуті для прикладі упорядкування за зростанням ключів і наведені мовою Pascal. Тип SEQ визначений як:

type SEQ=array[1..n] of іnteger;

 

– Конец работы –

Эта тема принадлежит разделу:

ОПЕРАЦІЇ ЛОГІЧНОГО РІВНЯ

ОПЕРАЦІЇ ЛОГІЧНОГО РІВНЯ... НАД СТАТИЧНИМИ І СТРУКТУРАМИ R...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Сортування

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

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

Пошук у таблиці
  Пошук у масиві іноді називають пошуком у таблиці, якщо ключ сам є інтегрованим об'єктом, таким як масив чисел чи символів. Часто зустрічається саме останній випадок, коли масиви сим

Прямий пошук рядка в тексті
  Часто доводиться зіштовхуватися зі специфічним пошуком, так названим пошуком рядка в тексті. Його можна визначити таким способом. Нехай заданий масив s з

КМП-алгоритм пошуку рядка в тексті
  У 1970 р. Д. Кнут, Дж. Морріс і В. Пратт запропонували алгоритм пошуку рядка в тексті, так званий КМП-алгоритм або КМП-пошук, фактично потребуючий тільки N порівнян

БМ-алгоритм пошуку рядка в тексті
Схема КМП-пошуку дає справжній виграш тільки тоді, коли при порівнянні символів до розбіжності було деяке число збігів (>1). Лише в цьому випадку образ зміщується більш ніж на одиницю. На жаль,

Таблиці прямого доступу
  Найпростішою організацією таблиці, що забезпечує ідеально швидкий пошук, є таблиця прямого доступу. У такій таблиці ключ є адресою запису в таблиці або може бути перетворений на адр

Таблиці з довідниками
  Одним із способів усунення недоліку, властивого таблицям прямого доступу, який полягає в тому, що вони вимагають пам'ять значних розмірів, є метод довідників. Основна табли

Хешовані таблиці та функції хешування
Як відзначалося вище, у кожній реальній таблиці фактична множина ключів є лише невеликою підмножиною множини всіх теоретично можливих ключів. З міркувань економії пам'яті доцільно призначати роз

Проблема колізій у хешованих таблицях
  Колізії (друга назва - конфлікт) – основна проблема для хешованих таблиць. Вдало підібрана функція хешування може мінімізувати число колізій, але не може гарантувати їхньої повної в

Сортування вибіркою
  Сортування простою вибіркою. Даний метод реалізує практично "дослівно" сформульовану вище стратегію вибірки. Порядок алгоритму простої вибірки – O(N2

Сортування включенням
Сортування простими вставками. Цей метод – "дослівна" реалізація стратегії включення. У програмному прикладі 5.19 наведена підпрограма сортування простими вставками.

Сортування розподілом
  Порозрядне цифрове сортування. Алгоритм вимагає представлення ключів сортованої послідовності у вигляді чисел у деякій системі обчислення P. Число

Сортування злиттям
  Алгоритми сортувань злиттям, як правило, мають порядок O(N*log(N)), але відрізняються від інших алгоритмів більшою складністю і вимагають великого числа пересилань. Алгоритми злиття

Порівняння алгоритмів сортування масивів
Закінчуючи огляд методів сортування, порівняємо їх ефективність. В таблиці 5.3 подано дані (у секундах) для упорядкування довільного, упорядкованого й упорядкованого в зворотному порядку масивів з

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги