Question: Algorithm Design A palindrome is a sequence of units that has the property of reading the same in either direction (e.g., GCCG). Palindromes also occur

Algorithm Design

A palindrome is a sequence of units that has the property of reading the same in either direction (e.g., GCCG). Palindromes also occur in nucleotide acid sequences (e.g., DNA and RNA). To learn more about palindromes in DNAs and RNAs, please refer to the following web sites:

1.http://en.wikipedia.org/wiki/Palindrome

2.http://en.wikipedia.org/wiki/Palindromic_sequence

3.http://users.rcn.com/jkimball.ma.ultranet/BiologyPages/P/Palindromes.html

Due to mutations there could be some insertion of deletion which makes some palindromes not palindromes any more. For example, GCCACCG is a palindrome. Due to deletion, this sequence might be changed to CCACCG ("G" was deleted).

In this project, you are required to design an algorithm which takes an input string and return a palindrome by inserting the smallest number of letters. You are allowed to insert characters at any position of the string. For example, AAT can be turned into palindrome TAAT by one insertion T, and GCT into GCTCG with two insertions CG.

Besides designing an algorithm you also need to provide the time complexity analysis (e.g. big-O notation).

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Mathematics Questions!