DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Методи пошуку. Алгоритм Кнута-Моріса-Прата

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2008
Тип роботи:
Методичні вказівки
Предмет:
Алгоритми і структури даних
Група:
КН
Коротко про документ

Про що ця робота

Методичні вказівки призначені для виконання лабораторної роботи з вивчення алгоритму Кнута-Моріса-Прата. Документ містить теорію, приклади, порядок виконання та контрольні питання.

У роботі розглядаються

  • Алгоритми пошуку
  • Алгоритм Кнута-Моріса-Прата
  • Обробка текстових даних
  • Мова програмування C++
  • Лабораторні роботи
  • Структури даних

Зміст і розділи

  1. Теоретичні відомості
  2. Вказівки до виконання роботи
  3. Послідовність виконання роботи
  4. Контрольні питання
Для кого:Студенти спеціальності Комп'ютерні науки
Викладачі:Семчишин Ю. Б.

Ключові поняття

алгоритм Кнута-Моріса-Пратавзірецьрядоксимволзсувскладність алгоритмуметоди пошукупрограмна реалізаціялабораторна робота

Частина тексту файла (без зображень, графіків і формул):

Міністерство Освіти України Національний університет «Львівська політехніка» Методичні вказівки До лабораторної роботи № 11 На тему: «Методи пошуку. Алгоритм Кнута-Моріса-Прата» з дисципліни «Алгоритми і структури даних» Для базового напрямку 6.0804 «Комп’ютерні науки» ЗАТВЕРДЖЕНО на засіданні кафедри програмного забезпечення протокол № від 2008 року місто Львів 2008 рік Методичні вказівки до лабораторної роботи з дисципліни «Алгоритми і структури даних» Для базового напрямку 6.0804 «Комп’ютерні науки» Укладачі: [ім’я автора приховано] [ім’я автора приховано] [ім’я автора приховано] Відповідальний за випуск: Рецензенти: Тема роботи: Ознайомлення із методами пошуку. Алгоритм Кнута-Моріса-Прата. Мета роботи: Вивчити та дослідити методи пошуку, як один із методів обробки даних. Ознайомитись із алгоритмом Кнута-Моріса-Прата. Виконати лабораторну роботу використавши здобуті знання з методів пошуку, зокрема алгоритму Кнута-Моріса-Прата. ТЕОРЕТИЧНІ ВІДОМОСТІ Алгоритм Кнута-Моріса-Прата (англ. Knuth–Morris–Pratt algorithm) шукає входження слова W у рядку S використовуючи просте спостереження, що коли відбувається невідповідність, то слово містить у собі достатньо інформації, для того щоб визначити, де наступне входження може початися, таким чином пропускаючи кілька разову перевірка попередньо порівняних символів. Алгоритм був винайдений вченими Donald Knuth та Vaughan Pratt і незалежно J. H. Morris у 1977 році, але був опублікований у спільній статті. Маємо масив символів S з n елементів (текст) та масив P з m - взірець. Необхідно знайти перше входження взірця в масив. Схема алгоритму полягає у поступовому порівнянні взірця з текстом та зсуву по тексту на кількість співпавших символів у разі знайденого неспівпадіння. Алгоритм КМП КМП1. Встановити і=0. КМП2. j=0, d=1. КМП2. Поки j<m, i<n КМП 3. Перевірка: якщо s[i]=p[j], то d++, i++.j++ поки d != m. Інакше встановити зсув взірця на d позицій по тексту. Перейти на крок КМП2. КМП4. Кінець. Складність алгоритму становить O(n+m). Приклад, Hoola-Hoola girls like Hooligan - текст Hooligan – взірець Hoola-Hoola girls like Hooligan Hooligan i!=a, d=4 Hooligan H!=a, d=1 Hooligan H!=-, d=1 Hooligan i!=a, d=4 ….. Hooligan d=m=8 РЕКОМЕНДОВАНІ ДЖЕРЕЛА http://www.wikipedia.org/. Donald Ervin Knuth «The Art of Computer Programming». 2. ВКАЗІВКИ ДО ВИКОНАННЯ РОБОТИ При реалізації алгоритму застосувати здобуті знання на лабораторній роботі. Тобто у всіх завданнях необхідно реалізувати алгоритм Кнута-Моріса-Прата. Використовувати мову програмування C/C++. Лабораторна робота вважається зданою при наявності програмного продукту звіту і проведеного відповідного захисту виконаної роботи. 3. ПОСЛІДОВНІСТЬ ВИКОНАННЯ РОБОТИ Отримати індивідуальне завдання у викладача; Уточнити завдання (можливі різні трактування завдання); Написати програмну реалізацію виконання індивідуального завдання із використанням вивченого методу (алгоритму) на даній лабораторній роботі; Протестувати на наявність логічних помилок програми; Оформити звіт відповідно до стандарту; Захистити виконану роботу. 4. КОНТРОЛЬНІ ПИТАННЯ Які ви знаєте методи пошуку? Який метод пошуку був розглянений на даній лабораторній роботі? Від чого прямо – залежним являється швидкість пошуку? Опишіть характеристики даного методу. Порівняєте даний метод із іншими методами пошуку вам відомими. Наскільки являється ефективним даний метод пошуку? Чи використовують даний метод на практиці, і наскільки часто? Чи можлива оптимізації даного методу? Якщо так, то яка? Якщо ні, то по яких причинах? Чим оригінальним виділяється даний метод від інших?
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!