Let y i denote the concatenation of string?y?with itself?i?times. For example,?(ab) 3 =?ababab. We say that a

Question:

Let yi denote the concatenation of string?y?with itself?i?times. For example,?(ab)3 =?ababab. We say that a string?x????* has?repetition factor?r?if?x?=?yr for some string?y????* and some?r > 0. Let??(x)?denote the largest?r?such that?x?has repetition factor?r.

a.?Give an efficient algorithm that takes as input a pattern?P [1. . m]?and computes the value??(Pi)?for?i?=?1, 2, . . . ,m. What is the running time of your algorithm?

b.?For any pattern?P [1. .m], let??*(P)?be defined as max1???I???m ?(Pi). Prove that if the pattern?P?is chosen randomly from the set of all binary strings of length?m, then the expected value of??*(P)?is?O(1).

c.?Argue that the following string-matching algorithm correctly finds all occurrences of pattern?P?in a text?T[1. . n]?in time?O(?(P)n?+?m):

REPETITION-MATCHER?(P, T)

image

This algorithm is due to Galil and Seiferas. By extending these ideas greatly, they obtained a linear-time string-matching algorithm that uses only O(1) storage beyond what is required for P and T.

Fantastic news! We've Found the answer you've been seeking!

Step by Step Answer:

Related Book For  book-img-for-question

Introduction to Algorithms

ISBN: 978-0262033848

3rd edition

Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest

Question Posted: