Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 是否可以使用统一的差异来推断编辑距离?_Algorithm_Bash_Shell - Fatal编程技术网

Algorithm 是否可以使用统一的差异来推断编辑距离?

Algorithm 是否可以使用统一的差异来推断编辑距离?,algorithm,bash,shell,Algorithm,Bash,Shell,我有两个文件,内容跨越多行。我想找到编辑距离;i、 e.假设只有插入和删除是可能的,那么将A转换为B需要多少更改 > cat > A A B C D E > cat > B A B D D F E > diff -u A B --- A 2015-05-12 16:09:31

我有两个文件,内容跨越多行。我想找到编辑距离;i、 e.假设只有插入和删除是可能的,那么将A转换为B需要多少更改

> cat > A                                 
A
B
C
D
E
> cat > B                                 
A
B
D
D
F
E
> diff -u A B                             
--- A   2015-05-12 16:09:31.000000000 +0200
+++ B   2015-05-12 16:09:42.000000000 +0200
@@ -1,5 +1,6 @@
 A
 B
-C
 D
+D
+F
 E

可以准确地说,
+
-
的总数给了我编辑距离吗?

根据您对编辑距离的定义(类似于),您首先需要定义单个更改是什么

  • 一个角色
  • 电话
  • 档案
最长的常见子序列问题是一门经典的计算机科学 问题,数据比较程序的基础,如
diff
实用性,并在生物信息学中有应用。它也广泛存在 由修订控制系统(如Git)用于协调多个版本 对受修订控制的文件集合所做的更改

假设您希望行定义更改(基于您的示例),那么是的,使用
diff
命令的
+
-
的总数就足够了。这是因为更新/替换将同时显示为删除(
-
)和插入(
+


另请参见

不允许更改行的内容?重新订购线路怎么样?(在这种情况下,diff认为哪些行被“移动”并不总是明智或最优的。)您只是想知道添加和删除了多少行吗?谢谢。行的顺序很重要;我不能重新排序。是的,我正在寻找允许我转换A->B的插入和删除的数量。