利用python语言,编写随机输入1到n的字符串,利用LD算法求出编辑距离矩阵,以及利用python plt库求得二维权值图的程序
时间: 2024-06-10 09:06:56 浏览: 61
好的,这是一个计算问题,可以回答。以下是利用 Python 编写的程序示例:
```python
import random
from Levenshtein import distance
import matplotlib.pyplot as plt
n = 10 # 字符串长度
# 随机生成两个长度为 n 的字符串
s1 = ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for _ in range(n))
s2 = ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for _ in range(n))
# 计算编辑距离矩阵
edit_matrix = [[distance(s1[:i], s2[:j]) for j in range(n+1)] for i in range(n+1)]
# 绘制二维权值图
plt.matshow(edit_matrix, cmap='Blues')
plt.xticks(range(n+1), [''] + list(s2))
plt.yticks(range(n+1), [''] + list(s1))
plt.show()
```
运行该程序,即可得到一个随机生成的字符串,以及对应的编辑距离矩阵和二维权值图。
阅读全文