Портал освітньо-інформаційних послуг «Студентська консультація»

  
Телефон +3 8(066) 185-39-18
Телефон +3 8(093) 202-63-01
 (093) 202-63-01
 studscon@gmail.com
 facebook.com/studcons

<script>

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){

  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)

  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

 

  ga('create', 'UA-53007750-1', 'auto');

  ga('send', 'pageview');

 

</script>

Алгоритми і структури даних

Тип роботи: 
Методичні вказівки
К-сть сторінок: 
36
Мова: 
Українська
Оцінка: 

Потрібно від-значити, що всі наступні тести проводяться за умови, що пройдено даний тест.

Тест на послідовність однакових бітів полягає в підрахунку по-вного числа рядів у вихідній послідовності, де під словом «ряд» мають на увазі безперервну підпослідовність однакових бітів. Ряд довжиною біт складаєть-ся з абсолютно ідентичних бітів, починається і закінчується з біта, що міс-тить протилежне значення. Мета даного тесту – зробити висновок про те, чи дійсно кількість рядів, що складаються з одиниць і нулів з різними довжинами, відповідає їх кількості у довільній послідовності. Зокрема, визначається швид-ко чи повільно чергуються одиниці і нулі у вихідній послідовності. Якщо об-числене в ході тесту значення ймовірності , то дана двійкова послідо-вність не є істинно випадковою. В іншому випадку вона має випадковий ха-рактер.
Тест на найдовшу послідовність одиниць полягає у визначенні найдовшого ряду одиниць всередині блока довжиною біт. Мета – з’ясувати,
чи дійсно довжина такого ряду відповідає очікуванням довжини найдовшого ряду одиниць у випадку абсолютно довільної послідовності. Якщо обчислене в результаті виконання тесту значення ймовірності , то вихідна послі-довність не є випадковою. В іншому випадку робиться висновок про її випад-ковість. Слід зауважити, що з припущення про приблизно однакову частоту появи одиниць і нулів (тест №1) випливає, що точно такі ж результати даного тесту будуть отримані при розгляді самого довгого ряду нулів. Тому вимірю-вання можна проводити тільки з одиницями.
 
5.2. Завдання до лабораторної роботи 5
 
Розробити програму, яка читає з клавіатури число та параметри генератора випадкових чисел і виводить на екран послідовність з згенерованих чисел. Програма зберігає до файлу графічну характеристику по-слідовності згідно з завданням та виводить на екран результат одного з тестів NIST (згідно з варіантом завдання).
Варіанти генераторів випадкових чисел:
1) лінійний конгруентний метод;
2) метод Фібоначчі із затримуванням.
Варіанти графічних характеристик:
1) гістограма розподілу елементів послідовності;
2) розподіл на площині (елементи попарно обробляються як координати точок (x, y));
3) автокореляція (користувач задає зсув для копії послідовності).
Варіанти тестів NIST:
1) частотний побітовий тест;
2) тест на послідовність однакових бітів;
3) тест на найдовшу послідовність одиниць.
 
5.3. Варіанти завдань до лабораторної роботи 5
 
В таблиці 5.1 наведені варіанти завдань до даної лабораторної роботи.
 
Таблиця 5.1 – Варіанти завдань до лабораторної роботи
 
Лабораторна робота 6. ФУНДАМЕНТАЛЬНІ АЛГОРИТМИ НА ГРАФАХ І ДЕРЕВАХ
 
Мета роботи: ознайомитися зі способами подання графів та отримати навички програмування алгоритмів, що їх обробляють.
 
6.1. Теоретичний матеріал, необхідний для виконання лабораторної роботи 6
 
Структури даних та алгоритми, які потрібно використати, розглянуто в лекційному курсі, а також в запропонованій літературі.
 
6.2. Завдання до лабораторної роботи 6
 
Розробити програму, яка читає з клавіатури:
1) числа – кількість вершин та ребер графа;
2) послідовність M пар цілих чисел – ребра графа.
Програма зберігає граф та виконує над ним алгоритм згідно з варіантом.
Варіанти подання графів:
1. Матриця суміжності.
2. Список суміжності.
Варіанти алгоритмів:
1. Пошук в ширину. На екран потрібно вивести вершини в порядку об-ходу. Для кожної вказати час прибуття та предка в дереві обходу.
2. Пошук у глибину. На екран потрібно вивести вершини в порядку об-ходу. Для кожної вказати час початку розгляду, кінця розгляду та предка у де-реві обходу.
1. Топологічне сортування. На екран потрібно вивести ті ж дані, що і для пошуку в глибину, а також результат сортування.
2. Визначити, чи є заданий граф деревом або лісом.
3. Побудувати кістяк дерева алгоритмом Прима.
4. Побудувати кістяк дерева алгоритмом Крускала.
6.3 Варіанти завдань до лабораторної роботи 6
В таблиці 6.1 наведені варіанти завдань до даної лабораторної роботи.
 
Таблиця 6.1 – Варіанти завдань до лабораторної роботи 6
 
Лабораторна робота 7. ГЕОМЕТРИЧНІ АЛГОРИТМИ
 
Мета роботи: познайомитися із основними геометричними алгоритма-ми.
 
7.1. Теоретичний матеріал, необхідний для виконання лабораторної роботи 7
 
Основний засіб багатьох геометричних алгоритмів – поняття векторного добутку.
Нехай дано вектори і . Нас цікавлять тільки вектори, що лежать в одній площині, тому під векторним добутком можна розуміти площу паралелограма (з урахуванням знака), утвореного точками , .
Для обчислень більш зручне визначення векторного добутку як визнач-ника матриці .
Якщо позитивне, то найкоротший поворот відносно , що поєднує його з , відбувається проти годинникової стрілки, а якщо негативне, то за нею.
Алгоритми побудови опуклої оболонки розглянуте у лекційному курсі, а також у запропонованій літературі.
 
7.2. Завдання до лабораторної роботи 7
 
Розробити програму, яка читає з клавіатури число та пар дійсних чисел-координат точок на площині. Програма виконує один з алгоритмів згідно з варіантом.
 
7.3. Варіанти завдань до лабораторної роботи 7
 
Варіант 1. Точки належать ламаній. Потрібно для
Фото Капча