【发布时间】:2019-01-18 11:52:52
【问题描述】:
我想计算两棵树之间的 Zhang-Shasha 树编辑距离(zss library)。但是,我的树采用networkx 图形的形式(它们实际上代表 DOM html 树)。 zss documentation 中的示例展示了如何手动创建树:
from zss import *
A = (
Node("f")
.addkid(Node("a")
.addkid(Node("h"))
.addkid(Node("c")
.addkid(Node("l"))))
.addkid(Node("e"))
)
zss.simple_distance(A, A) # [0.0]
这将是同一棵树:
import networkx as nx
G=nx.DiGraph()
G.add_edges_from([('f', 'a'), ('a', 'h'), ('a', 'c'), ('c', 'l'), ('f', 'e')])
所以我想将networkx类的树对象转换为zss Node对象,然后计算两棵树之间的编辑距离。
谢谢
(如果您认为这是 XY 问题,请随时告诉我)
【问题讨论】:
-
在我看来,深度优先traversal。
标签: python graph tree distance networkx