Question: 4 . Consider the following algorithm for the problem of counting the number of palindromes in a given string ( T ) of
Consider the following algorithm for the problem of counting the number of palindromes in a given string T of length n geq The function isPalindrome takes a string input and return True if the input string is a palindrome and False otherwise.
Data: String T with n lowercase letters
Result: The number of palindrome substrings in string T c leftarrow ;
for i leftarrow to n do
for j leftarrow i to n do
substring leftarrow Ti to j;
if isPalindromesubstring then c leftarrow c ;
end
end
end
return
a Prove that this algorithm is correct by providing the following:
i marks Show that the algorithms terminates.
Note: To prove that the algorithm terminates you cannot just give an example and show that the algorithm terminates on it; instead you must prove that when the algorithm is given any input string of length n for any value of n the algorithm will always end.
ii marks Show that the algorithm always produces the correct answer.
Note: To prove that the algorithm is correct you cannot just give an example and show that the algorithm computes the correct output. You must prove that when the algorithm is given any input string of length n geq the algorithm correctly outputs the number of palindromes in the string. Assume that the function isPalindrome always produces correct output.
iii. marks Compute the time complexity of this algorithm in the worst case. You must explain how you computed the time complexity, and you must give the order of the complexity. Assume that the function isPalindrome takes only a constant time to execute.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
