2、长度分别为 i 和 j-1 的字符串的编辑距离已知,那么加1即可;
3、长度分别为 i-1 和 j-1 的字符串的编辑距离已知,此时考虑两种情况,若第i个字符和第j个字符不同,那么加1即可;如果相同,那么不需要加1 。
很明显 , 上述算法的思想即为 动态规划。
求长度为m和n的字符串的编辑距离,首先定义函数——edit(i, j),它表示第一个长度为i的字符串与第二个长度为j的字符串之间的编辑距离 。动态规划表达式可以写为:
if i == 0 且 j == 0,edit(i, j) = 0
if (i == 0 且 j0 )或者 (i0 且j == 0),edit(i, j) = i + j
if i ≥ 1 且 j ≥ 1,edit(i, j) == min{ edit(i-1, j) + 1, edit(i, j-1) + 1, edit(i-1, j-1) + d(i, j) },当第一个字符串的第i个字符不等于第二个字符串的第j个字符时,d(i, j) = 1;否则,d(i, j) = 0 。
def edit_distance(word1, word2):
len1 = len(word1)
len2 = len(word2)
dp = np.zeros((len1 + 1,len2 + 1))
for i in range(len1 + 1):
dp[i][0] = i
for j in range(len2 + 1):
dp[0][j] = j
for i in range(1, len1 + 1):
for j in range(1, len2 + 1):
delta = 0 if word1[i-1] == word2[j-1] else 1
dp[i][j] = min(dp[i - 1][j - 1] + delta, min(dp[i-1][j] + 1, dp[i][j - 1] + 1))
return dp[len1][len2]
edit_distance('牛奶','华西奶')
结果:2
python求两点之间距离的程序import math
#定义点python距离计算函数的函数
class Point:
def __init__(self,x=0,y=0):
self.x = x
self.y = y
#定义直线函数
def getlen(p1, p2):
#用math.sqrt()求平方根
len = math.sqrt(((p1.x - p2.x) ** 2) +((p1.y - p2.y) ** 2))
return self.len
#设置点p1python距离计算函数的坐标
p1 = Point(0,0)
#设置点p2的坐标
p2 = Point(3,4)
#获取两点之间直线的长度
d =.getlen(p1, p2)
print(d)
Python 计算三维空间某点距离原点的欧式距离1、点击“开始”——“ArcGIS”——“ArcMap”,启动ArcMap程序 , 并添加两个点要素类到地图上 。
2、点击“ArcToolbox”——“分析工具”——“邻域分析”——“点距离”,打开点距离工具界面 。
3、选择输入要素,即作为起点的要素类,可以选择已添加到地图上的要素类,也可以选择外部要素类 。
4、选择邻近要素 , 即作为终点的要素类,可以选择已添加到地图上的要素类,也可以选择外部要素类 。
5、选择计算结果的存放位置和表名称 。
6、输入搜索半径,即要计算多大半径范围内的邻近点要素之间的距离 , 可以为空,如果为空,则计算起点到邻近要素类中所有点要素之间的距离 。点击“确定”,开始计算起点要素到邻近要素之间的距离 。
7、计算完成后,计算结果表会自动添加到地图上 , 右键点击结果表 , 点击打开,可以查看计算结果 。
【python距离计算函数 python输入坐标计算距离】关于python距离计算函数和python输入坐标计算距离的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 做精酿啤酒如何营销,做精酿啤酒如何营销呢
- 六代i7cpu配什么主板,6代i7配什么显卡
- 射击类红包赚钱游戏,射击类红包游戏大全
- 社群直播带货大会方案,带货直播活动
- go语言工具怎么运行项目 go语言chan
- go语言冒号等号,数学冒号后面加等号
- 苹果删了安卓微信评论还在,苹果删了安卓微信评论还在怎么回事
- python中for循环常用方法,python中for循环的用法
- c语言函数调用求和函数是 c语言用函数求和的程序