
- •До лабораторної роботи № 4
- •6.050102 “Комп’ютерна інженерія”
- •1. Мета роботи
- •2. Теоретичні відомості
- •2.1. Задача сортування
- •2.2. Класифікація методів сортування
- •2. 3. Бульбашкове сортування
- •2.4. Сортування вибором
- •2.5. Сортування простими вставками
- •2.6. Ефективні алгоритми сортування. Сортування злиттям
- •2.7. Пірамідальне сортування
- •2.8. Швидке сортування
- •3. Порядок виконання роботи
- •4. Завдання на лабораторну роботу
- •4.1. Вибір варіанта індивідуального завдання
- •4.2. Варіанти завдань
- •5. Вимоги до оформлення звіту
- •Мета роботи.
- •6. Контрольні завдання
- •Список літератури
5. Вимоги до оформлення звіту
I. Оформити титульну сторінку звіту стандартного зразка, на якій обов’язково вказати номер лабораторної роботи, її назву та вибір номера варіанта.
II. В звіті мають бути відображені наступні пункти:
Мета роботи.
Постановка задачі.
2.1. Загальна частина
2.2. Індивідуальне завдання
Опис алгоритму.
Дослідження методу.
Обґрунтування вибору структури даних.
Схема алгоритму cортування на прикладі послідовності чисел.
Дослідження методу cортування на стійкість.
Дослідження методу cортування на економність використання пам’яті.
Дослідження методу на специфіку вхідної послідовності.
Дослідження ефективності методу.
1) Програмні дослідження.
а) Кількість порівнянь в найкращому, в найгіршому та в середньому випадках.
б) Кількість перестановок в найкращому, в найгіршому та в середньому випадках.
2) Чисельні дослідження.
а) Визначення класу (підкласу) алгоритму по його трудомісткості.
б) Обчислення функції трудомісткості алгоритму.
3) Асимптотичні дослідження.
а) Знаходження часової складності алгоритму ( за нотацією Ландау).
б) Визначення назви асимптотичного класу ефективності алгоритму.
Результати виконання програми.
Висновки.
Додатки (тексти програм з коментарями).
6. Контрольні завдання
1. |
Промоделюйте вручну, показуючи всі проміжні результати, роботу алгоритму сортування методом простої вставки наступної послідовності: 55 , 3 , 20 , 88 , 1 , 66 , 9 .
|
2. |
Промоделювати вручну, показуючи всі проміжні кроки, роботу алгоритму швидкого сортування наступної послідовності: 15 , 23 , 47 , 54 , 10 , 5 , 19 .
|
3. |
Дослідити на стійкість метод cортування простим вибором, програмна реалізація якого має такий вигляд:
procedure SelectionSort(var a:VectType); var i,j,k : integer; min : KeyType; Begin for i:=1 to n-1 do begin k:=i; min:=a[i]; for j:=i+1 to n do if a[j] < = min then begin k:=j; min:=a[k]; end; a[k]:=a[i]; a[i]:=min; end; End; |
Список літератури
Кнут Д. Искусство програмирования, том 3. Сортировка и поиск. – М.: Изд.дом ”Вильямс”, 2001. – 832 с.
Вирт Н. Алгоритмы + структуры данных = програмы. –М.:Мир,1985 - 406 с.
Ленгсам Й., Огенстайн М., Тененбаум А. Структура данных для персональных ЭВМ. –М.:Мир, 1989 - 560 с.
Проценко В.С., Чаленко П.Й., Ставровський А.Б. Техніка програмування мовою Сі. –К:Либідь, 1993 - 224 с.
Семакин И.Г., Шестаков А.П. Лекции по программированию. Пермь: изд-во ПГУ, 1998.