Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded
Autor(a) principal: | |
---|---|
Data de Publicação: | 2011 |
Outros Autores: | , , |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | INFOCOMP: Jornal de Ciência da Computação |
Texto Completo: | https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/337 |
Resumo: | Given two strings, the longest common subsequence (LCS) problem computes a common subsequence that has the maximum length. In this paper, we present new and efficient algorithms for solving the LCS problem for two strings one of which is run length encoded (RLE). We first present an algorithm that runs in O(gN) time, where g is the length of the RLE string and N is the length of uncompressed string. Then based on the ideas of the above algorithm we present another algorithm that runs in O(Rlog(log g)+N) time, where R is the total number of ordered pairs of positions at which the two strings match. Our first algorithm matches the best algorithm in the literature for the same problem. On the other hand, for R < gN/ log(log)g, our second algorithm outperforms the best algorithms in the literature. |
id |
UFLA-5_7a65d79c81c023c17515a13b69c6fb5c |
---|---|
oai_identifier_str |
oai:infocomp.dcc.ufla.br:article/337 |
network_acronym_str |
UFLA-5 |
network_name_str |
INFOCOMP: Jornal de Ciência da Computação |
repository_id_str |
|
spelling |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encodedalgorithmslongest common subsequencerun length encoded stringsGiven two strings, the longest common subsequence (LCS) problem computes a common subsequence that has the maximum length. In this paper, we present new and efficient algorithms for solving the LCS problem for two strings one of which is run length encoded (RLE). We first present an algorithm that runs in O(gN) time, where g is the length of the RLE string and N is the length of uncompressed string. Then based on the ideas of the above algorithm we present another algorithm that runs in O(Rlog(log g)+N) time, where R is the total number of ordered pairs of positions at which the two strings match. Our first algorithm matches the best algorithm in the literature for the same problem. On the other hand, for R < gN/ log(log)g, our second algorithm outperforms the best algorithms in the literature.Editora da UFLA2011-09-01info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfhttps://infocomp.dcc.ufla.br/index.php/infocomp/article/view/337INFOCOMP Journal of Computer Science; Vol. 10 No. 3 (2011): September, 2011; 48-551982-33631807-4545reponame:INFOCOMP: Jornal de Ciência da Computaçãoinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAenghttps://infocomp.dcc.ufla.br/index.php/infocomp/article/view/337/321Copyright (c) 2016 INFOCOMP Journal of Computer Scienceinfo:eu-repo/semantics/openAccessAhsan, Shegufta BakhtMoosa, Tanaeem M.Rahman, M. SohelShahriyar, Shampa2015-07-29T12:20:43Zoai:infocomp.dcc.ufla.br:article/337Revistahttps://infocomp.dcc.ufla.br/index.php/infocompPUBhttps://infocomp.dcc.ufla.br/index.php/infocomp/oaiinfocomp@dcc.ufla.br||apfreire@dcc.ufla.br1982-33631807-4545opendoar:2024-05-21T19:54:32.723120INFOCOMP: Jornal de Ciência da Computação - Universidade Federal de Lavras (UFLA)true |
dc.title.none.fl_str_mv |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
title |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
spellingShingle |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded Ahsan, Shegufta Bakht algorithms longest common subsequence run length encoded strings |
title_short |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
title_full |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
title_fullStr |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
title_full_unstemmed |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
title_sort |
Computing a Longest Common Subsequence of two strings when one of them is Run Length Encoded |
author |
Ahsan, Shegufta Bakht |
author_facet |
Ahsan, Shegufta Bakht Moosa, Tanaeem M. Rahman, M. Sohel Shahriyar, Shampa |
author_role |
author |
author2 |
Moosa, Tanaeem M. Rahman, M. Sohel Shahriyar, Shampa |
author2_role |
author author author |
dc.contributor.author.fl_str_mv |
Ahsan, Shegufta Bakht Moosa, Tanaeem M. Rahman, M. Sohel Shahriyar, Shampa |
dc.subject.por.fl_str_mv |
algorithms longest common subsequence run length encoded strings |
topic |
algorithms longest common subsequence run length encoded strings |
description |
Given two strings, the longest common subsequence (LCS) problem computes a common subsequence that has the maximum length. In this paper, we present new and efficient algorithms for solving the LCS problem for two strings one of which is run length encoded (RLE). We first present an algorithm that runs in O(gN) time, where g is the length of the RLE string and N is the length of uncompressed string. Then based on the ideas of the above algorithm we present another algorithm that runs in O(Rlog(log g)+N) time, where R is the total number of ordered pairs of positions at which the two strings match. Our first algorithm matches the best algorithm in the literature for the same problem. On the other hand, for R < gN/ log(log)g, our second algorithm outperforms the best algorithms in the literature. |
publishDate |
2011 |
dc.date.none.fl_str_mv |
2011-09-01 |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/337 |
url |
https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/337 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/337/321 |
dc.rights.driver.fl_str_mv |
Copyright (c) 2016 INFOCOMP Journal of Computer Science info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Copyright (c) 2016 INFOCOMP Journal of Computer Science |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Editora da UFLA |
publisher.none.fl_str_mv |
Editora da UFLA |
dc.source.none.fl_str_mv |
INFOCOMP Journal of Computer Science; Vol. 10 No. 3 (2011): September, 2011; 48-55 1982-3363 1807-4545 reponame:INFOCOMP: Jornal de Ciência da Computação instname:Universidade Federal de Lavras (UFLA) instacron:UFLA |
instname_str |
Universidade Federal de Lavras (UFLA) |
instacron_str |
UFLA |
institution |
UFLA |
reponame_str |
INFOCOMP: Jornal de Ciência da Computação |
collection |
INFOCOMP: Jornal de Ciência da Computação |
repository.name.fl_str_mv |
INFOCOMP: Jornal de Ciência da Computação - Universidade Federal de Lavras (UFLA) |
repository.mail.fl_str_mv |
infocomp@dcc.ufla.br||apfreire@dcc.ufla.br |
_version_ |
1799874741380579328 |