Estou tendo dificuldades para descrever isso em termos corretos, por isso darei o máximo de detalhes possível e espero que alguém saiba o que estou tentando fazer = -)
Estou tentando comparar duas árvores de nós para determinar quão semelhantes / diferentes elas são em termos de estrutura. Nos meus diagramas abaixo, os dois exemplos têm o mesmo número de filhos, netos etc. No exemplo 1, o Root tem um filho com dois filhos, mas no exemplo dois, o Root não.
Provavelmente, eu poderia descobrir como fazer um loop recursivo e contar quantos de cada nível existem e compará-los, dando-me uma idéia de como as árvores são semelhantes, mas apenas fazendo dessa maneira, parecerá que são idênticas, mas na verdade eles não são.
Alguém sabe disso? Ou mesmo qual é o termo técnico para o que é isso?
Edit: Além disso, isso está em c # e eu estou usando listas para armazenar esses objetos e seus filhos.
Exemplo 1
Exemplo 2