This algorithm is a two step process.First we create a auxiliary array lps[] and then use this array for searching the

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter6: Arrays
Section: Chapter Questions
Problem 17RQ
icon
Related questions
Question

Algorithm
This algorithm is a two step process.First we create a auxiliary array lps[] and then use this array for searching the
pattern.
Preprocessing :
1. We pre-process the pattern and create an auxiliary array lps[] which is used to skip characters while
matching.
2. Here lps[] indicates longest proper prefix which is also suffix.A proper prefix is prefix in which whole string is
not included.For example, prefixes of string ABC are “ ”, “A”, “AB” and “ABC”. Proper prefixes are “ ”, “A” and
“AB”. Suffixes of the string are “ ”, “C”, “BC” and “ABC”.
Searching
1. We keep matching characters txt[i] and pat[j] and keep incrementing i and j while pat[j] and txt[i] keep
matching.
2. When we see a mismatch,we know that characters pat[0..j-1] match with txt[i-j+1…i-1].We also know that
lps[j-1] is count of characters of pat[0…j-1] that are both proper prefix and suffix.From this we can conclude
that we do not need to match these lps[j-1] characters with txt[i-j…i-1] because we know that these
characters will match anyway.
Implementaion in Java

Expert Solution
steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning