An Improved Algorithm for the Longest Common Subsequence Problem
碩士 === 國立暨南國際大學 === 資訊工程學系 === 101 === The Longest Common Subsequence (LCS) problem is a well-known problem in the field of computer science. There are many variants and applications related to LCS such as computing the edit distance between two DNA sequences, automatic typing correction and even co...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
2013
|
Online Access: | http://ndltd.ncl.edu.tw/handle/71921485917954092341 |
Summary: | 碩士 === 國立暨南國際大學 === 資訊工程學系 === 101 === The Longest Common Subsequence (LCS) problem is a well-known problem in the
field of computer science. There are many variants and applications related to LCS
such as computing the edit distance between two DNA sequences, automatic typing
correction and even computer virus detection.
This paper is about how to make a more efficient algorithm to solve the LCS
problem. The main idea is that the binary search is replaced by VEB tree with a
special technique called Reranking in order to reduce the time complexity of
Hunt-Szymanski Algorithm. The time of search operation of VEB tree depends on the
range it operates. The smaller range VEB tree operates, the more efficient searching
operation would be. If we can reduce the range then we can improve the
Hunt-Szymanski Algorithm as well.
In short, our algorithm exploits the Reranking technique to reduce VEB tree
range meanwhile decrease the memory that VEB tree needs as another advantage. Our
algorithm time complexity O(n + r log log s ) where n is the time for sorting two input
strings from constant alphabet, r is the number of total matched pairs in the matched
list and s is the length of LCS.
|
---|