Операторы равенства транзитивны: Если А = В и В = С, то А = В = С, так A = C.
Операторы равенства не рефлексивно: A = A, B = B, и C = C, независимо от того, каковы их ценности.
Операторы равенства симметричны. Если A = B, то В = A. (Это не имеет значения, в каком порядке они находятся.)
Теперь, принимая взглянуть на определение они дали вам:
Дерево равно другое дерево, если дети равны. Посмотрим. Можно предположить, что узлы сравниваются на дне, или же определение довольно бесполезно. Но они не удосужились сказать вам, как решить, что сравнение, и в целом определение они дали вам зависит от него.
Короче говоря, это дерьмовый вопрос.
Давайте посмотрим, что произойдет, если мы решим, что мы хотим, чтобы попытаться разгадать этот вопрос, хотя.
Но подождите, они также говорят, что двое детей любого дерева можно поменять местами. Это добавляет ограничение , что любое дерево , которое равно все остальное ( в том числе и себя) должно быть равно его зеркальным отражение. И любые вариации детей его поддеревьев могли быть обменены.
И помните , что это должно быть поиск дерево. Таким образом, мы можем предположить , что два различных дерева поиска, которые обрабатываются с помощью того же алгоритма должны дать тот же результат , если они равны. Таким образом, если мы переключаемся вокруг элементов дерева, то время поиска будет затронуто. Таким образом, деревья , которые не имеют каждый узел в месте, не равны друг другу.
Полагая, что вместе с «съемном» свойством этого равенства, мы можем видеть, что это не является допустимым определением равенства. (Если мы попытаемся применить его, то получается, что только деревья, которые имеют один и тот же узел для каждого узла на определенном уровне, равны, и только для себя, который ломает рефлексивности часть оператора равенства.)