- •Лекція 1
- •Основні визначення та поняття
- •1.1.Термінологія
- •1.2. Класифікація структур данях
- •1.3. Основні операції над структурами даних
- •Контрольні запитання
- •Лекція 2 алгоритми. Складність алгоритмів
- •1. Зображення алгоритмів
- •2 Складність алгоритмів
- •3. Класи алгоритмів
- •Контрольні запитання
- •Лекція 3 методи сортування
- •Лекція 4 методи сортування (продовження)
- •4. Сортування включенням
- •5. Сортування розподілом
- •6. Сортування злиттям або об’єднанням
- •Лекція 5 Дерева
- •1. Основні визначення та поняття
- •2. Бінарні дерева
- •3. Зображення в пам‘яті комп‘ютера графоподібних структур
- •Контрольні запитання
- •Лекція 6 дерева (продовження)
- •4. Сортування на деревах
- •4.2. Пірамідальне сортування.
- •Контрольні запитання
- •Лекція 7 лінійні структури даних
- •1. Стеки, черги, деки
- •1.1. Стеки
- •1.2. Черги
- •1.3. Деки
- •1.4. Організація стеків, черг і деків
- •Контрольні запитання та вправи
- •3. Множини I кортежі
- •4. Зберігання множин і масивів
- •4.1 Зберігання розріджених матриць
- •Контрольні запитання
- •Лекція 9 Лінійні списки
- •1. Основні визначення та поняття
- •2. Однонаправлені списки
- •3. Двонаправлені списки
- •4. Циклічні списки
- •Контрольні запитання та вправи
- •Лекція 11 нелінійні структури даних
- •1. Таблиці
- •2. Зображення таблиць
- •Контрольні питання
- •Лекція 13 Пошук даних
- •1. Послідовний або лінійний пошук
- •2. Двійковий пошук
- •1. Дерева порівнянь на векторній пам‘яті.
- •3.Пошук у таблиці
- •4. Прямий пошук стрічки
- •5. Алгоритм Кнута, Моріса і Прата пошуку в стрічці.
- •7. Алгоритми з поверненням
- •Лекція 14 Пошук у таблиці
- •1. Пошук у таблицях з обчислюваними адресами
- •2. Пошук у таблицях з прямим доступом
- •3. Пошук у Хеш-таблицях.
- •Контрольні питання
Контрольні запитання
1. Яке дерево називається кореневим? (а)є одна особлива вершина, в яку не заходить ні одне ребро і яку називають коренем дерева;б) у всі інші вершини заходить рівно одне ребро, а виходить скільки завгодно;в) немає циклів.)
2. Що називають степеню вершини? (а) число піддерев; б) кількість листків; в) рівень вершини.)
3. Чому дорівнює степінь листка? (а) 0; б)кількості рівнів вершини; в) висоті дерева.)
4. Що таке довжина шляху? (а)кількість дуг, які треба пройти від кореня для досягнення даної вершини; б) кількість піддерев даної вершини; в) ранг вершини.)
5. Що таке рівень, aбo ранг, вершини дерева? (а) довжина шляху від кореня до цієї вершини плюс одиниця; б) кількість дуг, які треба пройти від кореня для досягнення даної вершини; в) кількість піддерев даної вершини.)
6. Який ранг має корінь дерева? (а)3; б)2; в)7.)
7. Яка висота дерев, зображених на рис? (а) 3,5; б)2,4; в)2,3.)
8. Що таке висота дерева? (а) кількість рівнів у дереві; б)кількість листків; в) кількість дуг, які треба пройти від кореня для досягнення даної вершини.)
9. Як описується вершина-"син"у позиційному дереві? (а) за допомогою рядка символів над алфавітом {0, 1}; б) цифрами; в)формулою.)
10. Які існують алгоритми обходу дерев?(а) низхідний, висхідний, змішаний; б)паралельний; в) бінарний; г) зверху вниз, знизу вверх, зліва направо.)
11. Що таке бінарне дерево? (а) 2-арне дерево, в якого один потомок є лівим, а другий – правим; б)висота якого дорівнює 2; що має два кореня.)
12. Яке дерево називають збалансованим? (а) різниця між рівнями всяких двох вершин не більша від одиниці; б) має однакову кількість лівих і правих піддерев;)
13. Способи зображення графів в пам‘яті ЕОМ: а)матриці; б) спискові структури; в)динамічні списки.)
14. Які способи зображення дерев в пам‘яті ЕОМ є оптимальними: а) матриця; б) список; в) таблиця)
15. Сортування на деревах. Метод вибірки з дерева.
Лекція 7 лінійні структури даних
1. Стеки, черги, деки
Стеки, черги і деки - це однотипні лінійні структури. Їх називають динамічними лінійними структурами даних у зв'язку з тим, що вибірка елемента із цих послідовностей зводиться до операції виключення, тобто ліквідації його у послідовностях. Відрізняються ці структури одна від одної порядком виконання операцій включення і виключення елементів .
До основних операцій над цими структурами відносять:
а) створення нової структури даних;
б) запис або включення елемента у вже існуючу структуру даних;
в) виключення елемента зі структури;
г) перевірка умови існування структури.
1.1. Стеки
Стек - це впорядкована лінійна динамічно змінювана послідовність елементів, в якій виконуються наступні умови:
1) новий елемент приєднується завжди до одного і того ж боку послідовності;
2) доступ до елемента здійснюється завжди з того боку послідовності, до якого приєднується елемент;
3) елемент зберігається в послідовності до моменту його виклику.
Прикладом стеку є стопка тарілок, а також магазин патронів у рушниці. За аналогією з останнім прикладом стек ще часто називають магазинною пам'яттю.
Операцію включення елемента у стек називають "проштовхуванням", а операцію виключення із послідовності - "виштовхуванням". Найбільш і найменш доступні елементи стека навивають відповідно верхом і низом стека. Операції включення і виключення зі стека виконують в одному і тому ж боку послідовності, але виключаються елементи зі стека в порядку, зворотному до того, в якому вони потрапили в послідовність. В кожний момент часу зі стека можна забрати лише один елемент. Дисципліну обслуговування стека часто називають дисципліною LIFO - "останній прийшов, перший пішов".
Стек можна зобразити у вигляді послідовності A=A1,...,An-1,An , де An - елемент, що вказує на вхід-вихід у послідовність; A1 , An - відповідно низ і верх стека. Щоб прочитати елемент Aj , необхідно вибрати зі стека елементи An,..., Aj+1.
Основною перевагою стека перед іншими організаціями даних є те, що у ньому не потрібна адресація елементів. Для обслуговування стека потрібно лише дві команди: PUSH - "проштовхнути" i POP - "виштовхнути". Зі стеком пов'язаний завжди один вказівник, який вказує на верхній елемент у стеку. На початку такий вказівник дорівнює нулю.
Найпростішим прикладом вдалого застосування стека може служити задача перепису вектора у зворотному порядну. На практиці стекова структура даних найчастіше застосовується в рекурсивних алгоритмах, при трансляції, а також при обробці переривань програм.