
- •Лабораторна робота № 2
- •Лабораторна робота № 3
- •Лабораторна робота № 4
- •Модуль 2. „Сортування структур даних з прямим доступом” Лабораторна робота № 5
- •Лабораторна робота № 6
- •Лабораторна робота № 7
- •Лабораторна робота № 8
- •Лабораторна робота № 9
- •Лабораторна робота № 10
- •Модуль 3. „Сортування структур даних з послідовним доступом” Лабораторна робота № 11
- •Лабораторна робота № 12
- •Лабораторна робота № 13-14
- •Лабораторна робота № 15-16
Міністерство освіти і науки, молоді та спорту України
Рівненський державний гуманітарний університет
Кафедра інформатики та прикладної математики
АЛГОРИТМИ І СТРУКТУРИ ДАНИХ
Тематика та завдання для лабораторних робіт
Для студентів напряму підготовки
6.040302 „інформатика”
розробив
доц. Сяський В.А.
Модуль 1
„Пошук у структурах даних з прямим та послідовним доступом”
Лабораторна робота № 1
Тема: Пошук елемента у масиві.
Завдання:
Користуючись методом прямого пошуку елемента у масиві, встановити перше входження деякого елемента. Якщо елемент із шуканим значенням є, то вказати його порядковий індекс, інакше – вивести повідомлення про його відсутність. Визначити кількість важких операцій порівняння, що виконуються при цьому.
Користуючись методом модифікованого прямого пошуку елемента у масиві, встановити перше входження деякого елемента. Якщо елемент із шуканим значенням є, то вказати його порядковий індекс, інакше – вивести повідомлення про його відсутність. Визначити кількість важких операцій порівняння, що виконуються при цьому.
Користуючись методом бінарного пошуку елемента у впорядкованому масиві, встановити входження деякого елемента. Якщо елемент із шуканим значенням є, то вказати його порядковий індекс, інакше – вивести повідомлення про його відсутність. Визначити кількість важких операцій порівняння, що виконуються при цьому.
Користуючись методом модифікованого бінарного пошуку елемента у впорядкованому масиві, встановити входження деякого елемента. Якщо елемент із шуканим значенням є, то вказати його порядковий індекс, інакше – вивести повідомлення про його відсутність. Визначити кількість важких операцій порівняння, що виконуються при цьому.
При аналізі складності різних алгоритмів пошуку елемента у масиві розглянути наступні варіанти вхідних даних:
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 1;
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 11;
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 20;
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 9;
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 12;
a = ( 1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 0;
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20), x = 10;
a = (1; 2; 3; 4; 5; 6; 7; 8; 9; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20 ), x = 21.
Лабораторна робота № 2
Тема: Пошук підпослідовності у послідовності. Алгоритм прямого пошуку підпослідовності.
Завдання:
Користуючись методом прямого пошуку підпослідовності у послідовності, встановити входження деякого образу у базовий рядок. Якщо співпадання має місце, то вказати порядковий індекс елемента в базі, починаючи з якого образ повністю співпадає з елементами бази, інакше – вивести повідомлення про його відсутність. Визначити кількість важких операцій порівняння, що виконуються при цьому.
При аналізі складності різних алгоритмів пошуку підпослідовності у послідовності розглянути наступні варіанти вхідних даних:
a = (2; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (2; 1; 1; 1; 1; 1; 1; 1; 1);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 2; 1; 1; 1; 1; 1; 1; 1; 1), b = (2; 1; 1; 1; 1; 1; 1; 1; 1);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2), b = (1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2), b = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2), b = (1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (1; 1; 2);
a = (1; 2; 1; 2; 3; 1; 2; 1; 2; 3; 1; 2; 1; 2; 3; 4; 5; 6), b = (1; 2; 1; 2; 3; 1; 2; 1; 2; 3; 4; 5);
a = (1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3; 4; 1; 2; 3; 4; 5), b = (1; 2; 3; 1; 2; 3; 4; 1; 2; 3; 4; 5);
a = (1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3), b = (1; 2; 3; 4; 1; 2; 3; 4; 1; 2; 3; 4);
a = (1; 2; 3; 4; 1; 3; 2; 4; 1; 2; 3; 4; 1; 2; 3; 4; 1; 2;), b = (1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3);
Лабораторна робота № 3
Тема: Пошук підпослідовності у послідовності. Алгоритм Кнута – Моріса – Пратта.
Завдання:
Користуючись методом Кнута – Моріса – Пратта (КМП) пошуку підпослідовності у послідовності, встановити входження деякого образу у базовий рядок. Якщо співпадання має місце, то вказати порядковий індекс елемента в базі, починаючи з якого образ повністю співпадає з елементами бази, інакше – вивести повідомлення про його відсутність. Визначити кількість важких операцій порівняння, що виконуються при цьому.
При аналізі складності різних алгоритмів пошуку підпослідовності у послідовності розглянути наступні варіанти вхідних даних:
a = (2; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (2; 1; 1; 1; 1; 1; 1; 1; 1);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 2; 1; 1; 1; 1; 1; 1; 1; 1), b = (2; 1; 1; 1; 1; 1; 1; 1; 1);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2), b = (1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2), b = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 2), b = (1; 1; 2);
a = (1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1), b = (1; 1; 2);
a = (1; 2; 1; 2; 3; 1; 2; 1; 2; 3; 1; 2; 1; 2; 3; 4; 5; 6), b = (1; 2; 1; 2; 3; 1; 2; 1; 2; 3; 4; 5);
a = (1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3; 4; 1; 2; 3; 4; 5), b = (1; 2; 3; 1; 2; 3; 4; 1; 2; 3; 4; 5);
a = (1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3), b = (1; 2; 3; 4; 1; 2; 3; 4; 1; 2; 3; 4);
a = (1; 2; 3; 4; 1; 3; 2; 4; 1; 2; 3; 4; 1; 2; 3; 4; 1; 2;), b = (1; 2; 3; 1; 2; 3; 1; 2; 3; 1; 2; 3);