Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПИТАННЯ ТА ВІДПОВІДІ ДО ДРУГОГО МОДУЛЯ.docx
Скачиваний:
7
Добавлен:
17.12.2018
Размер:
124.41 Кб
Скачать

Тема 12. Спискові структури. Основні поняття. Ієрархічні списки. Сіткові структурі. Організація спискових структур.

Рівень І

  1. Сіткова структура це …

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

  1. Петля у сітковій структурі це…

Деколи записи файлу зв‘язані з іншими записами цього ж файлу. Таку ситуацію називають петлею. (мал. Б)

  1. Цикл у сітковій структурі.

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

  1. Решітка це…

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

 

  1. Як поділяються сіткові структури за типом елементів?

Однорідна сіткова структура, що містить однотипні елементи, вироджується в дерево або список.

Неоднорідна сіткова структура, в якій зображення відношення батько-син є складним (тобто в одного батька може бути декілька синів), а зображення відношення син-батько простим (у сина може бути тільки один батько), переважно також зводиться до дерева. Сіткову структуру з таким зображенням відношень називають простою.

Рис.1. Елементи сіткових структур:

а - однорідні; б – неоднорідні

Тема 13. Пошук даних. Послідовний пошук. Двійковий пошук. Алгоритм Кнута, Моріса, Пратта. Алгоритм Бойера-Мурра. Порівняння алгоритмічної складності методів

Рівень ІІІ

  1. Алгоритм послідовного або лінійного пошуку. Складність алгоритму – О(n2)

  2. Алгоритм двійкового пошуку. Складність алгоритму – O(lg(n))

  3. Алгоритм прямого пошуку стрічки. Складність алгоритму – О(n*m) , де m – довжина «де шукаємо» (текст), а n – «що шукаємо» (паттерн, взірець).

  4. Алгоритм Кнута, Моріса і Прата пошуку в стрічці. Складність алгоритму О(m+n), де m – довжина «де шукаємо» (текст), а n – «що шукаємо» (паттерн, взірець).

  5. Алгоритм Бойера – Мура пошуку у стрічці. Складність алгоритму – О(n)

  6. Алгоритми з поверненням:

Методом проб та помилок вибирається деякий ланцюжок висновків. У випадку невдач організовується перебір з поверненням для пошуку іншого ланцюжка. Для організації пошуку правильного ланцюжка використовується дерево пошуку. Зростання такого дерева часто буває експоненціальним. Прикладами таких задач є «Задача про 8 ферзів», «Задача виходу з лабіринту», «Задача про хід коня», «Задача про стабільні браки», «Задача оптимального вибору».

Тема 14. Дерева порівнянь на векторній пам‘яті. Дерева порівнянь на зчепленій пам‘яті. Пошук у таблицях з обчислюваними адресами. Таблиці з прямим доступом. Хеш-таблиці. Задача колізії.

Рівень І

  1. Функція хешування це…

Функції, що відображають ім‘я або ключ у деяке ціле число, називають функціями хешування h(k) для ключа k. Їх також називають функціями перемішування або рандомізації.

  1. Колізія це…

Функції, що відображають ім‘я або ключ у деяке ціле число, називають функціями хешування h(k) для ключа k. Їх також називають функціями перемішування або рандомізації.

Ситуацію, при якій h(ki)= h(kj) при ki!= kj, називають колізією.

  1. Дерева порівнянь на векторній пам‘яті.

  2. Дерева порівнянь на зчепленій пам‘яті.

Рівень ІІ

  1. Алгоритм пошуку у таблицях з обчислюваними адресами.

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

  1. Алгоритм пошуку у таблиці з прямим доступом.

Таблицю називають таблицею з прямим або безпосереднім доступом, якщо для визначення місцезнаходження кожного запису використовується його ключ. Функція хешування визначається як відображення К->A , де К- множина ключів, які можуть ідентифікувати записи в таблиці з прямим доступом; А - множина адрес. Доступ до запису за ключем k здійснюється в такому випадку за значенням функції h(k).