Кнут-Моррис-Пратт алгоритмі
Навигацияға өту
Іздеуге өту
Кнут — Моррис — Пратт алгоритмі (КМП-алгоритм) — берілген текст жолында ішкі жол тармағын табу алгоритмін айтамыз.
Алгоритмді алғаш ашқан американ ғалымдары Дональд Кнут және Вон Пратт еді, олар жеке дара өз бетімен тапқан Джеймс Моррис болды.[1]. Өз еңбектірінің жемісін олар 1977 басып шығарды.[2].
Есептің берілуі
Мысалы жолы Үлгі:Lang-en және жол тармағы Үлгі:Lang-en берілсін. жолда - жол тармағының қай жерінен басталып жазылған орнын немесе индексін табу керек.
Егер жолында — тармақ жолы табылмаған болса, онда бұл жолдың ішінде болмайтын бір кері индекс беру керек.
Егер керек болған жағдайда әр жол тармағының берілген текст орныныда бар ма екенін бақалып отыру үшін қосымша функция құруға болады.
Тағы қараңыз
- Префикс-функциясы
- Z-функциясы
- Бойер — Мур алгоритмі
- Ахо — Корасик алгоритмі