Имеет ли значение порядок узлов? Для этого ответа я предполагаю, что два следующих дерева:
1 1
/ \ / \
3 2 2 3
не равны, так как для сравнения учитывается положение и порядок узлов.
Несколько подсказок
- Согласны ли вы, что два пустых дерева равны?
- Согласны ли вы с тем, что два дерева, которые имеют только корневой узел с одинаковыми значениями узлов, равны?
- Не можете ли вы обобщить этот подход?
Будучи немного точнее
Рассмотрим это родовое дерево:
rootnode(value=V)
/ \
/ \
-------- -------
| left | | right |
| subtree| |subtree|
-------- -------
rootnode - это отдельный узел. Два дочерних элемента являются более общими и представляют двоичные деревья. Дочерние элементы могут быть либо пустыми, либо одним узлом, либо полностью выросшим двоичным деревом.
Согласны ли вы с тем, что это представление достаточно универсально для представления любого непустого двоичного дерева? Вы можете разложить, скажем, это простое дерево в мое представление?
Если вы понимаете эту концепцию, то эта декомпозиция может помочь вам решить проблему. Если вы понимаете концепцию, но не можете идти дальше с алгоритмом, пожалуйста, прокомментируйте здесь, и я буду более конкретным:)