Допустим, у меня есть два графика (в данном случае деревья):
graph 1:
root
child_1
leaf_1, leaf_2, leaf_3
child_2
leaf_1, leaf_2, leaf_4
graph 2:
root
child_1
leaf_2, leaf_4
child_2
leaf_2, leaf_3
И я хочу найти минимальную последовательность шагов для преобразования из graph 1
в graph 2
.
I есть как минимум два варианта:
child_1.delete(leaf_1)
child_1.delete(leaf_3)
child_1.add (leaf_4)
child_2.delete(leaf_1)
child_2.delete(leaf_4)
child_2.add (leaf_3)
child_1.delete(leaf_1)
child_2.delete(leaf_1)
root .delete(child_1)
root .append(child_1)
Итак, как мне найти минимальную последовательность в общем случае?