
- •Тема 1. Основні визначення та поняття. Термінологія. Класифікація структур даних. Основні операції над структурами даних.
- •Що таке дані?
- •Що таке об’єкти предметної області та їх атрибути?
- •Тема 2. Поняття алоритму. Зображення алгоритмів. Алгоритмічна складність. Поліноміальна та неполіноміальна складність алгоритмів..
- •Охарактеризуйте алгоритми класу np.
- •Тема 3-4. Алгоритми сортування
- •Метод Шелла. Записати складність алгоритму.
- •Метод сортування розподілом. Записати складність алгоритму.
- •Метод сортування злиттям. Записати складність алгоритму.
- •Тема 5-6. Дерева. Основні визначення та поняття. Бінарні дерева. Зображення в пам‘яті еом графоподібних структур. Алгоритми обходу дерев.Висхідні, нисхідні, змішані алгоритми обходу дерев.
- •Які способи зображення дерев в пам‘яті комп‘ютера є оптимальними?
- •В якому випадку не потрібно зберігати інформацію про ребра?
- •Метод сортування на деревах - метод вибірки з дерева. Записати складність алгоритму.
- •Перевагою стека перед іншими організаціями даних є…
- •Галузі застосування стеків.
- •Операції над лінійними структурами даних. Їх реалізація.
Які способи зображення дерев в пам‘яті комп‘ютера є оптимальними?
Майже завжди для зображення дерев застосовують списки, в яких вказівники зображують ребра.
В якому випадку не потрібно зберігати інформацію про ребра?
Дерева можна зберігати в пам‘яті також у послідовному вигляді, але при цьому вибирається певний напрямок обходу дерева. Тоді зберігаються тільки вершини дерева, а зв‘язки (ребра) опускаються, оскільки порядок розташування вузлів вказує на зв‘язок між ними.
Метод сортування на деревах - метод вибірки з дерева. Записати складність алгоритму.
Послідовність чисел розбивається на пари, які об‘єднуються за принципом «син-батько». Батьком з двох синів стає найбільше число. Процес повторюється, доки не буде виділене одне число, найбільше, яке стане корнем утвореного дерева. У разі відсутності одного числа, батьком стає єдиний нащадок (син). Число, що попало в корінь замінюється на безмежність. Процес повторюється для знаходження наступного найбільшого числа і т.д. З рис. 6.1 видно, що задана послідовність буде впорядкована у низхідному порядку за 10-1=9 кроків.
Сумарний час виконання такого сортування приблизно пропорційний величині п log2 n . Існує декілька модифікацій цього алгоритму, які скорочують цей час .
Алгоритм побудови бінарного дерева згортання. Записати складність алгоритму
Дуже довго і муторно все описано. У парі картинок:
Послідовність ключів K1 , К2... К n називають "пірамідою", якщо Kj < Ki при 2<j<n. i =[ j /2] - ціла частина від j/2 .
Бінарне дерево розміщується послідовно таким чином, що індекси лівого і правого "синів" запису будуть мати відповідно значення 2і і 2і+1. Навпаки, індекс "батька" запису буде мати значення [j/2]. Якщо знайдено пірамідальне зображення таблиці, то запис з найбільшим ключем знаходиться в корені дерева.
Тема 8. Лінійні структури даних. Стеки, черги, деки. Організація стеків, черг і деків. Види черг. Представлення лінійнихї структур в комп‘ютері. Операції додавання та видалення елементів з лінійних структур.
Рівень І
Стек – це…
Стек - це впорядкована лінійна динамічно змінювана послідовність елементів, в якій виконуються наступні умови:
1) новий елемент приєднується завжди до одного і того ж боку послідовності;
2) доступ до елемента здійснюється завжди з того боку послідовності, до якого приєднується елемент;
3) елемент зберігається в послідовності до моменту його виклику.
Деки – це…
Деки - це впорядкована лінійна динамічно змінювана послідовність елементів, в якій виконуються такі умови:
1) новий елемент може приєднуватися з обох боків послідовності;
2) вибірка елементів можлива також з обох боків послідовності.
Черга – це…
Черга - це лінійна динамічно змінювана послідовність елементів, у якій виконуються такі умови:
1) новий елемент приєднується завжди з одного і того ж боку послідовності;
2) доступ до елементів aбo їх виключення завжди здійснюється з другого боку послідовності.
Лінійна черга це…
Звичайна лінійна черга може бути зображена масивом, з двома вказівниками: перший вказує на елемент для вибірки з черги, другий - на останній елемент, записаний у чергу.
Пріоритетна черга це…
Чергу, для якої є можливість включати або виключати елементи з певної позиції в залежності від деяких її характеристик називають пріоритетною чергою. Прикладом пріоритетної черги може служити порядок розв'язування потоку задач на комп‘ютері у деяких операційних системах . Така черга зводиться до послідовності лінійних черг, якщо відомі пріоритети її елементів. Кожна черга з послідовності обслуговується за дисципліною FIFO , але елементи з другої черги обслуговуються тільки тоді, коли порожня попередня черга, а з третьої тоді, коли порожні перша і друга черги. При включенні елементи приєднуються до боку однієї з черг згідно з їх пріоритетом.Циклічна черга це …
Рівень ІІ