- •Перелік питань на іспит з дисципліни «Алгоритми і структури» для груп спеціальності «Розробка програмного забезпечення», 3-й курс, vі навч.Семестр.
- •Тема: Загальні відомості алгоритмів.
- •Тема: Масиви.
- •Тема: Просте сортування.
- •Тема: Стеки і черги.
- •Тема: Двозв’язні списки.
- •Тема: Двійкові дерева.
- •Тема: Червоно-чорні дерева.
- •Тема: Дерева 2-3-4.
- •Тема: Хеш-таблиці.
- •Тема: Піраміди.
- •Тема: Графи.
Тема: Просте сортування.
У якому відношенні комп'ютерні алгоритми сортування більш обмежені в порівнянні з сортуванням, виконуваної людиною?
Люди краще справляються з винаходом нових алгоритмів.
Комп'ютер може працювати з даними фіксованого розміру.
Людина знає, як сортувати, а комп'ютера необхідно все пояснювати.
Комп'ютер за один раз може порівнювати тільки два об'єкти.
Дві основні операції простий сортування - _________ елементів і їх _________ (іноді _________).
При бульбашкової сортування кожен елемент завжди порівнюється з кожним іншим елементом (Так / Ні).
В алгоритмі бульбашкового сортування чергуються операції:
порівняння і перестановки;
переміщення і копіювання;
переміщення і порівняння;
копіювання і порівняння.
При N елементах алгоритм бульбашкового сортування виконує рівно N × N порівнянь (Так / Ні).
В алгоритмі сортування методом вибору:
елементи з найбільшими значеннями ключа накопичуються зліва (малі значення індексів);
багаторазово знаходиться значення мінімального ключа;
для правильної вставки кожного елемента доводиться зрушувати кілька елементів;
відсортовані елементи накопичуються справа.
Якщо при виконанні конкретної сортування перестановка елементів займає набагато більше часу, ніж порівняння, сортування методом вибору працює приблизно вдвічі швидше бульбашкового сортування (Так / Ні).
Копіювання виконується в ________ рази швидше перестановки.
Який інваріант діє при сортуванні методом вибору?
У сортуванні методом вставки термін «часткова сортування» означає, що:
деякі елементи вже відсортовані, але, можливо, їх ще доведеться переміщати;
більшість елементів знаходиться в своїх остаточних позиціях сортування, але деякі з них ще вимагають виконання сортування;
відсортовані тільки деякі з елементів;
елементи групи відсортовані між собою, але можливо, в групу ще доведеться вставляти елементи, що знаходяться за її межами.
Зрушення групи елементів вліво або вправо вимагає багаторазового виконання __________.
У сортуванні методом вставки елемент, вставлений в частково відсортовану групу:
НЕ БУДЕ переміщатися в подальшому;
НЕ БУДЕ зрушуватися вліво;
часто буде переміщатися за межі групи;
зіткнеться з тим, що розмір групи неухильно зменшується.
Інваріант сортування методом вставки: ________.
Властивість стійкості алгоритму сортування означає, що:
елементи з вторинними ключами виключаються з сортування;
при сортуванні списку міст по штату зберігається сортування міст по зростанню населення;
прізвища асоціюються з тими ж іменами;
елементи зберігають постійний порядок первинних ключів незалежно від порядку вторинних ключів.
Тема: Стеки і черги.
У стек заносяться числа 10, 20, 30 і 40, після чого з стека витягуються три елементи. Яке число залишиться в стеку?
Яке з наступних виразів істинно?
Операція витягання із стека значно простіше, ніж операція витягання з черги.
У черзі можливий циклічний перенос, а в стеку - ні.
Вершина стека є повним аналогом початку черги.
Як у стеку, так і в черзі послідовно видаляються елементи розташовуються в комірках з наростаючими значеннями індексів масиву.
Що означають терміни LIFO і FIFO?
Стек або чергу часто використовуються в якості базового механізму для реалізації масивів (Так / Ні).
Припустимо, елементи масиву пронумеровані зліва направо, починаючи з індексу 0. На базі масиву реалізується чергу людей, що стоять за квитками в кінотеатр. Першій людині, що входить в чергу, присвоюється номер 1, а вікно касира знаходиться справа. У цій ситуації:
не існує числового відповідності між індексами осередків і номерами людей у черзі;
індекси осередків масиву і номера людей у черзі зростають в протилежних напрямках;
індекси осередків масиву збігаються з номерами людей у черзі;
номера людей в черзі і індекси елементів масиву та індекси осередків масиву рухаються в одному напрямку.
Як в процесі вставки і видалення елементів конкретний елемент черги переміщається в базовому масиві: від молодших індексів до старших або від старших до молодших?
У чергу заносяться числа 15, 25, 35 і 45, після чого з черги витягуються три елементи. Яке число залишиться в черзі?
Вставка / витяг елементів в стеку і вставка / витяг елементів у черзі виконуються за час O ( N ).
Черга може використовуватися для зберігання:
елементів, автоматично сортируемих при вставці;
повідомлень про неминучі зовнішні загрози для зорельота «Ентерпрайз»;
клавіш, натиснутих користувачем в процесі написання листа;
символічних імен оброблюваного алгебраїчного виразу.
За який час виконується вставка елемента в типовій пріоритетною черзі (в O-синтаксисі)?
Визначення «пріоритетна» у назві пріоритетною черзі означає, що:
елементи з найбільшим пріоритетом вставляються першими;
програміст повинен організувати пріоритетний доступ до базового масиву;
базовий масив сортується відповідно до пріоритетом елементів;
низькопріоритетні елементи видаляються першими.
Одне з відмінностей між пріоритетною чергою і впорядкованим масивом:
елемент з мінімальним пріоритетом витягується з масиву складніше, ніж з пріоритетною черзі;
масив повинен бути впорядкований, а для пріоритетної черги це не обов'язково;
елемент з максимальним пріоритетом витягується з пріоритетною черзі складніше, ніж з масиву;
все перераховане вище.
Пріоритетну чергу зручно використовувати для зберігання:
пасажирів, яких таксі повинно підібрати в різних частинах міста;
натискань клавіш на клавіатурі;
полів шахової дошки в ігровій програмі;
планет в моделі Сонячної системи.
