Gleichheitsoperatoren sind transitiv: Wenn A = B und B = C, dann A = B = C, so A = C.
Gleichheitsoperatoren sind reflexiv: A = A, B = B, und C = C egal, was ihre Werte sind.
Gleichheitsoperatoren sind symmetrisch. Wenn A = B, dann B = A. (Es ist egal, in welcher Reihenfolge sie sind in.)
Nun, ein Blick auf die Definition sie dir gegeben habe:
Ein Baum ist zu einem anderen Baum gleich, wenn die Kinder gleich sind. Mal schauen. Wir können davon ausgehen, dass die Knoten am Boden verglichen werden, oder aber die Definition ist ziemlich nutzlos. Aber sie kümmern sich nicht darum, Ihnen zu sagen, wie man diesen Vergleich zu lösen, und die ganze Definition sie Sie gaben Scharniere darauf.
Kurz gesagt, ist es eine beschissene Frage.
Mal sehen, was passiert, wenn wir uns entscheiden, die Frage versuchen wollen und zu entwirren, though.
Aber warten Sie , sie Ihnen auch sagen , dass die beiden Kinder jeden Baum getauscht werden kann. Dadurch wird die Einschränkung , dass jeder Baum, der auf etwas anderes (einschließlich sich selbst) gleich ist , muss auf sein Spiegelbild gleich sein. Und alle Variationen seiner Unterbäume Kinder getauscht werden.
Und denken Sie daran , dass es sich hierbei um eine sein Suchbaum. Deshalb können wir wohl davon ausgehen , dass zwei verschiedene Suchbäume , die durch den gleichen Algorithmus verarbeitet werden , müssen das gleiche Ergebnis , wenn sie gleich sind. Also, wenn wir um die Elemente eines Baumes zu wechseln, dann würde die Suchzeit beeinflusst werden. Also, Bäume, die einander nicht jeden Knoten an der richtigen Stelle sind nicht gleich.
dass zusammen mit der „Swap“ Eigenschaft dieser Gleichheit Einlochen, können wir es keine gültige Definition der Gleichheit sehen. (Wenn wir versuchen, es anzuwenden, dann stellt sich heraus, dass nur Bäume, die den gleichen Knoten für jeden Knoten auf einer bestimmten Ebene haben gleich sind, und nur auf sich selbst, die die Reflexivität Teil eines Gleichheitsoperator bricht.)