Анализ методов сортировки одномерного массива

Автор: Татьяна Петришина, 03 Ноября 2010 в 13:09, курсовая работа

Краткое описание

В наш час нові інформаційні технології посідають дуже важливе місце не лише в спеціалізованих, але й в повсякденних сферах життя. Комп’ютери застосовуються в бізнесі, менеджменті, торгівлі, навчанні та багатьох інших сферах діяльності людини.
Комп’ютерні технології дуже зручні для виконання різноманітних операцій, але в різних сферах застосування ці операції різні. Тому, кожна окрема галузь, яка використовує специфічні технічні засоби, потребує своїх власних програм, які забезпечують роботу комп’ютерів.
Розробкою програмного забезпечення займається така галузь науки, як програмування. Вона набуває все більшого й більшого значення останнім часом, адже з кожним днем комп’ютер стає все більш необхідним, все більш повсякденним явищем нашого життя. Адже обчислювальна техніка минулих років вже майже повністю вичерпала себе і не задовольняє тим потребам, що постають перед людством.
Таким чином, нові інформаційні технології дуже актуальні в наш час і потребують багато уваги для подальшої розробки та вдосконалення. Поряд з цим, велике значення має також і програмування, яке є одним із фундаментальних розділів інформатики і тому не може залишатись осторонь.
Програмування містить цілу низку важливих внутрішніх задач. Однією з найбільш важливих таких задач для програмування є задача сортування. Під сортуванням звичайно розуміють перестановки елементів будь-якої послідовності у визначеному порядку. Ця задача є однією з найважливіших тому, що її метою є полегшення подальшої обробки певних даних і, насамперед, задачі пошуку. Так, одним з ефективних алгоритмів пошуку є бінарний пошук. Він працює швидше ніж, наприклад, лінійний пошук, але його можливо застосовувати лише за умови, що послідовність вже упорядкована, тобто відсортована.
Взагалі, відомо, що в будь-якій сфері діяльності, що використовує комп’ютер для запису, обробки та збереження інформації, усі дані зберігаються в базах даних, які також потребують сортування. Певна впорядкованість для них дуже важлива, адже користувачеві набагато легше працювати з даними, що мають певний порядок. Так, можна розташувати всі товари по назві або відомості про співробітників чи студентів за прізвищем або роком народження, тощо.
Задача сортування в програмуванні не вирішена повністю. Адже, хоча й існує велика кількість алгоритмів сортування, все ж таки метою програмування є не лише розробка алгоритмів сортування елементів, але й розробка саме ефективних алгоритмів сортування. Ми знаємо, що одну й ту саму задачу можна вирішити за допомогою різних алгоритмів і кожен раз зміна алгоритму приводить до нових, більш або менш ефективних розв’язків задачі. Основними вимогами до ефективності алгоритмів сортування є перш за все ефективність за часом та економне використання пам’яті.
У даній роботі мова буде йти про ефективність різних методів сортування даних у мові Pascal.
Об'єкт і предмет дослідження – методи сортування даних, використовувані в мові Pascal.
Метою даного дослідження є аналіз ефективності різних методів сортування даних у мові Pascal.
Взагалі , методи сортування поділяються на три типи:
методи сортування, що сортують без використання додаткової пам'яті, за винятком, можливо, невеликого стека і/або масиву;
методи, що використовують для сортування зв'язані списки і тому використовують N додаткових покажчиків збережених у пам'яті;
і методи, що мають потребу в додатковій пам'яті для збереження копії сортуемого файлу.
Мною були розглянуті переваги і недоліки таких методів сортування, як метод обміну, включення, вибору, злиття, методи Шелла і Хоара.

Оглавление

1. ТЕОРЕТИКО-МЕТОДОЛОГИЧЕСКИЕ АСПЕКТЫ ПРОБЛЕМЫ МЕТОДОВ СОРТИРОВКИ ДАННЫХ В ЯЗЫКЕ PASCAL
1.1 Поняття сортування
1.2 Критерії оцінки алгоритмів сортування
1.3 Класифікація алгоритмів сортування
1.4 Постановка задачі сортування і методи її рішення.
1.5 Сортування бульбашковим методом
1.6 Сортування вибором елемента
1.7 Сортування включенням
1.8 Сортування злиттям
1.9 Удосконалені алгоритми сортування. Сортування Шелла
1.10 Метод поділу (алгоритм "швидкого" сортування, метод Хоара)
1.11 Порівняльний аналіз методів сортування
ВИСНОВОК
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ