Я с трудом пытаюсь описать это в правильных терминах, поэтому я просто приведу как можно больше подробностей, и, надеюсь, кто-то знает, что я пытаюсь сделать = -)
Я пытаюсь сравнить два дерева узлов, чтобы определить, насколько они похожи / различны по структуре. На приведенных ниже схемах оба примера имеют одинаковое количество детей, внуков и т. Д. В примере 1 у Root есть ребенок с двумя детьми, а в примере два - с root.
Я мог бы, вероятно, выяснить, как выполнить рекурсивный цикл и подсчитать, сколько существует каждого уровня, и сравнить это, давая мне представление о том, насколько похожи деревья, но, только делая это таким образом, будет выглядеть, как будто они идентичны, но на самом деле это не так.
Кто-нибудь случайно узнал об этом? Или даже какой технический термин для чего это?
Изменить: Кроме того, это в C #, и я использую списки для хранения этих объектов и их детей.
Пример 1
Пример 2