У меня проблемы с решением проблемы в тесте живого кодирования на C #, в котором задействовано несколько двоичных деревьев, представляющих деревья некоторых семейств.
Информация, которую я получил:
- У каждого узла есть идентификатор, имя, родитель (муж) и родитель (жена)
- У каждого родителя может быть большечем 1 ребенок
Например, вот так будет выглядеть дерево Пример дерева
И оттуда меня спросили:
- Чтобы узнать, связаны ли некоторые узлы с кровью.Например, если K и Q связаны с кровью или T и N не связаны с кровью
- Сколько прыжков необходимо для достижения определенных узлов.Например, от K до Q - 3 прыжка, от C до F - 2 прыжка.
Я думал об использовании DFS, чтобы найти предка запрашиваемого узла x и y, чтобы определить, связаны ли они с кровью,это правильный подход?Что касается количества прыжков, я действительно не имею представления, или BFS работает?