Giter Site home page Giter Site logo

goit-algo-hw-05's Introduction

Тестуються наступні алгоритми

  • Боєра-Мура
  • Кнута-Морріса-Пратта
  • Рабіна-Карпа

Для тестування алгоритмів пошуку було довільно вибрано декілька підрядків. Свідомо останій підрядок був сформований таким чином щоб як найменьше або взагалі не зустрічався в тексті в обох файлах.

Результати виконання алгоритмів з різними підрядками наступні:

**** Search in file: article.txt ****

==== Search string: оптимізаційних ====
Боєра-Мура 0.00042742298683151603
Кнута-Морріса-Пратта 0.0016571159940212965
Рабіна-Карпа 0.004971594025846571

==== Search string: інтервал ====
Боєра-Мура 0.0005329240229912102
Кнута-Морріса-Пратта 0.0010819419985637069
Рабіна-Карпа 0.002406385960057378

==== Search string: полягає ====
Боєра-Мура 0.0009599870536476374
Кнута-Морріса-Пратта 0.0017896440112963319
Рабіна-Карпа 0.004475530004128814

==== Search string: обходу ====
Боєра-Мура 0.0012895020190626383
Кнута-Морріса-Пратта 0.0023758659954182804
Рабіна-Карпа 0.005283554026391357

==== Search string: алго ====
Боєра-Мура 3.3322954550385475e-05
Кнута-Морріса-Пратта 3.988598473370075e-05
Рабіна-Карпа 0.000123421021271497

**** Search in file: article.txt ****

==== Search string: оптимізаційних ====
Боєра-Мура 0.0003956860164180398
Кнута-Морріса-Пратта 0.0016005460056476295
Рабіна-Карпа 0.003910330997314304

==== Search string: інтервал ====
Боєра-Мура 0.00040802499279379845
Кнута-Морріса-Пратта 0.000902339001186192
Рабіна-Карпа 0.002143335994333029

==== Search string: полягає ====
Боєра-Мура 0.0008148850174620748
Кнута-Морріса-Пратта 0.0016888039535842836
Рабіна-Карпа 0.004076940007507801

==== Search string: обходу ====
Боєра-Мура 0.0012319189845584333
Кнута-Морріса-Пратта 0.00244522700086236
Рабіна-Карпа 0.005301825993228704

==== Search string: алго ====
Боєра-Мура 3.3050018828362226e-05
Кнута-Морріса-Пратта 3.8788013625890017e-05
Рабіна-Карпа 0.00011593394447118044

Висновки.
Найєфективнішим алгоритмом є Рабіна-Карпа. Цей алгоритм практично не залежить від кількості текста що треба перебрати для знаходження підрядка.
Алгоритми Боєра-Мура та Кнута-Морріса-Пратта єфективні при умові якщо точно підрядок знаходиться в тексі. Інакше час виконання стає дуже великим.

goit-algo-hw-05's People

Contributors

gavrik avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.