点图中的LCS算法

时间:2014-02-18 04:24:14

标签: python-2.7

我希望有人可以帮助我,我只是无法让我的程序运行。我试图在python中创建一个完整的LCS(最长公共子串)矩阵(后来找到最长的公共子串)。我不能一起得到点图。我试图将它附加到我的空矩阵但它不起作用。我做错了什么?

def compute_lcs(seq_A, seq_B):
  longest = 0 
  DotPlot = []
  m = len(seq_A)
  n = len(seq_B)
  for row in range(1,m+1): #set up DotPlot
    for col in range(1, n+1):
        temp_row = []
        if seq_A[row] == seq_B[col]:
            if row == 0 or col == 0:
                DotPlot[row, col] = 1
                temp_row.append(DotPlot[row,col])   
            else:                       
                DotPlot[row, col] = DotPlot[row-1, col-1] + 1
                temp_row.append(DotPlot[row, col])
        else: 
            DotPlot[row, col] = 0
            temp_row.append(DotPlot[row, col])  
  return DotPlot

谢谢!

0 个答案:

没有答案