Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Аналіз методів сортування одновимірного масиву

Реферат Аналіз методів сортування одновимірного масиву





симальний серед перших i-1 елементів. p> Тоді після обміну елементів K [j] і K [m] пошук максимуму в наступному циклі по j можна здійснювати серед елементів K [L [m]] ... K [j] при началь-них значеннях X = K [L [m]], m = L [m], т.к. максимум може "оновитися" тільки за рахунок елементів, що лежать правіше локального максимуму. Таким чином середня кількість переглядаються при пошуку максимуму елементів со-скорочується приблизно в два рази.

Час роботи алгоритму t приблизно оцінюється формулою: t = a * NР… + b * N * logN

де a, b - невідомі константи, що залежать від програмної реалізації алгоритму.


Сортування допомогою злиття

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

Природне двоколійному злиття

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

Елементи файлу пересилаються з однієї області до іншої, змінюючи напрямок пересилки. Для запам'ятовування напрямки пересилання служить мінлива s, приймаюча значення TRUE і FALSE поперемінно. Інший логічний ознака f служить сигналом продовження-закінчення алгоритму, якщо всі області злилися в кінці кінців в одну. Мінлива d приймає поперемінно значення +1 -1 і вказує напрям перегляду файлу: вперед або назад.Операція <-> позначає обмін значеннями двох змінних. Операція Я позначає інверсію логічної змінної або виразу. br/>

Час роботи алгоритму t приблизно оцінюється формулою:

t = a * N * lgN + b * N

де a, b - невідомі константи, що залежать від програмної реалізації алгоритму.

Просте двоколійному злиття.

В алгоритмі природного двоколійному злиття упорядкований відрізки файлу визначалися випадковим розташуванням елементів у вихідному файлі. У даному алгоритмі довжина відрізків фіксується на кожному кроці. У вихідній файлі всі відрізки мають довжину 1, після першого кроку вона дорівнює 2, після другого 4, після третього - 8, після к-го кроку -2 в ступені к.

Час роботи алгоритму t приблизно оцінюється формулою: t = a * N * lgN + b * N

де a, b - невідомі константи, залежать від програмної реалізації алгоритму.


1.2 ОБГРУНТУВАННЯ ВИБОРУ МЕТОДУ РІШЕННЯ ЗАВДАННЯ


Сортування масиву швидким методом є прекрасним прикладом целесооразності використання рекурсивного звернення до Програмування на мові Сі. Метод швидкого сортування був запропонований К. А. Р. Хоору в 1962р. Запропонована версія швидкої сортування, зрозуміло, не найшвидша серед усіх можливих, але зате вона з найпростіших. p> Основна стратегія прискорення алгоритмів сортування - обміни між якомога більш далекими елементами вихідного файлу - в методі швидкої сортування реалізована за рахунок того, що один з ключів у вихідному файлі використовується для розділення його на два подфайла так, щоб зліва від обраного елемента знаходилися тільки елементи з меншими ключами, а праворуч - тільки з великими.

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


3. РОЗРОБКА АЛГОРИТМУ РІШЕННЯ ЗАВДАННЯ

В 

Алгоритм розв'язання задачі гранично простий. Функція main () явлвется функцією меню і виконує опитування клавіатури . Залежно від натиснутої клавіші виконує відповідні дії програми. Для читання інформації про програму з файлу text.hlp використовується функція help (), яка працює з файловим висновком. Функція file () основна оскільки з її допомогою виконується сортування масиву (виклик функцій qqsort () і srecmg ()) визначення часу сортування виклик функції побудова гістограм. Масив складається з випадкових чисел вводяться в нього функцією генератора випадкових чисел. Далі функція file () викликає відповідні функції сортування, засікає час сортування відповідним способом, і заносить цей час в масив simvol []. Далі дані з масиву передаються у функцію grafix (), де вони використовуються при виведенні на екран гістограм в графічному режимі. Програма передбачає випадки відсутності деяких програмних елементів. У цьому випадку викликається функція Error (), яка створює вікно повідомлення в яке вписуються характеристика помилки. Так програма не буде виконуватися якщо не знайдений файл "text.hlp" або драйвер EGAVGA.BGI

.
3. РОЗРОБКА ПРОГРАМИ

В 

3.1 ОПИС ПРОГРАМИ

В 

Дана програма називається "TEST" (Ім'я виконуваного файлу test.exe) і призначена для аналі...


Назад | сторінка 5 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Дослідження алгоритму сортування методом прямого включення
  • Реферат на тему: Створення інформаційного ресурсу та реалізація алгоритму сортування даних
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми сортування елементів, що знаход ...
  • Реферат на тему: Алгоритми пошуку та сортування даних
  • Реферат на тему: Алгоритми сортування