我一直在寻找一种算法来有效地计算两棵树之间的编辑路径,这条路径不必与最短的编辑距离相对应,但最好是相对较短的路径。
案例是我有两个目录树,由目录和文件组成,并且想要计算一系列删除,插入和重命名,将一个转换为另一个。
我已经尝试过搜索stackoverflow和野外网络,但我找到的只是计算最短编辑距离的算法,但它们都有很高的缩放因子。
所以我的问题是,当我不需要最佳距离时,有没有更有效的方法,例如“张和莎莎”?
亲切的问候
答案 0 :(得分:0)
Klein algorithm的表现略好于“Zhang and Sasha”,但在实际应用中,它在空间和时间方面仍然具有非常高的复杂性。
算法here实际上是一种启发式算法,因为作者滥用了术语approximation。 它将问题减少到一系列最大加权集团,它存在几个近似和启发式,即使是贪婪的方法也可以在这里表现得相当好。
图表的真实情况适用于树木,因此您可以使用graph kernel convolution approach。
如果您正在寻找现成的实施方案(一种无法确定的算法,我会猜测张或克莱因),您可以查看here