Text Segmentation

Explore the text segmentation problem more in this lesson to take it to the next level.

Optimizing the text segmentation problem

For our next dynamic programming algorithm, let’s consider the text segmentation problem from the previous chapter. We’re given a string A[1..n]A[1 .. n] and a subroutine IsWordIsWord that determines whether a given string is a word, and we want to know whether AA can be partitioned into a sequence of words.

We solved this problem by defining a function Splittable(i)Splittable(i) that returns TrueTrue if, and only if, the suffix A[i..n]suffix\space A[i .. n] can be partitioned into a sequence of words. We need to compute Splittable(1)Splittable(1). This function satisfies the recurrence

Splittable(i)={ True if i>nj=1n(IsWord(i,j)Splittable(j+1))otherwiseSplittable(i)=\begin{cases} & \text{ True \hspace{5.8cm}} if\space i > n \\ & ...

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy