A fast algorithm for computing longest common subsequences

  • Authors:
  • James W. Hunt;Thomas G. Szymanski

  • Affiliations:
  • Stanford Univ., Stanford, CA;Princeton Univ., Princeton, NJ

  • Venue:
  • Communications of the ACM
  • Year:
  • 1977

Quantified Score

Hi-index 48.23

Visualization

Abstract

Previously published algorithms for finding the longest common subsequence of two sequences of length n have had a best-case running time of O(n2). An algorithm for this problem is presented which has a running time of O((r + n) log n), where r is the total number of ordered pairs of positions at which the two sequences match. Thus in the worst case the algorithm has a running time of O(n2 log n). However, for those applications where most positions of one sequence match relatively few positions in the other sequence, a running time of O(n log n) can be expected.