A星算法求解编辑距离

算法1:A星算法计算编辑距离
输入:非空属性图 g 1 = ( U 1 , E 1 ) q = ( V 2 , E 2 ) g_{1}=(U_{1},E_{1}) q=(V_{2},E_{2}) g1=(U1,E1)q=(V2,E2).其中 U 1 = { u 1 , . . . , u ∣ U 1 ∣ } , V 1 = { v 1 , . . . , v ∣ v 1 ∣ } U_{1}=\{u_{1},...,u_{|U_{1}|}\},V_{1}=\{v_{1},...,v_{|v_{1}|}\} U1={u1,...,uU1},V1={v1,...,vv1},
输出:从图 g 1 g_{1} g1转变为图q的代价最小的路径 P m i n P_{min} Pmin.例如 [((u1,v1), (u2,v2),(u3,v3),(u4,v4),(u5,v5)),
(((u1,u2),(v1,v2)),
((u1,u3),(v1,v3)),
((u2,u4),(v2,v4)),
((u3,u5),(v3,v5)),
((u5,u4),(v5,v4)),
((NONE),(v3,v4))]
算法开始:
第一步:初始化集合OPEN为空集合, P m i n P_{min} Pmin为空集合。
第二步:对于查询图中的顶点 w ∈ V 2 w∈V_{2} wV2,随机选择 u 1 ∈ V 1 u_{1}∈V_{1} u1V1,构造映射 O P E N ← O P E N ∪ { u 1 → w } OPEN←OPEN∪\{u_{1}→w\} OPENOPEN{u1w}
第三步:在OPEN集合中考虑删除顶点的情况: O P E N ← O P E N ∪ { u 1 → ε } OPEN←OPEN∪\{u_{1}→\varepsilon\} OPENOPEN{u1ε}
第四步:
A星算法求解编辑距离_第1张图片

你可能感兴趣的:(C语言)