亲宝软件园·资讯

展开

Python基于动态规划算法计算单词距离 Python基于动态规划算法计算单词距离

Sephiroth 人气:0
想了解Python基于动态规划算法计算单词距离的相关内容吗,Sephiroth在本文为您仔细讲解Python基于动态规划算法计算单词距离的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Python,动态规划算法,计算,单词距离,下面大家一起来学习吧。

本文实例讲述了Python基于动态规划算法计算单词距离。分享给大家供大家参考。具体如下:

#!/usr/bin/env python
#coding=utf-8
def word_distance(m,n):
  """compute the least steps number to convert m to n by insert , delete , replace .
  动态规划算法,计算单词距离
  >>> print word_distance("abc","abec")
  1
  >>> print word_distance("ababec","abc")
  3
  """
  len_1=lambda x:len(x)+1
  c=[[i] for i in range(0,len_1(m)) ]
  c[0]=[j for j in range(0,len_1(n))]
  for i in range(0,len(m)):
  #  print i,' ',
    for j in range(0,len(n)):
      c[i+1].append(
        min(
          c[i][j+1]+1,#插入n[j]
          c[i+1][j]+1,#删除m[j]
          c[i][j] + (0 if m[i]==n[j] else 1 )#改
        )
      )
  #    print c[i+1][j+1],m[i],n[j],' ',
  #  print ''
  return c[-1][-1]
import doctest
doctest.testmod()
raw_input("Success!")

希望本文所述对大家的Python程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论