考虑对两棵树定义 \ge 操作(为了与大小关系区分,称之为强弱关系,A \ge B 称为 A 不弱于 B),使得:
若 A \ge B,B \ge C,则 A \ge C。
两棵树 A,B 同构当且仅当 A \ge B 且 B \ge A。
我们发现 D2T3 对两棵树大小关系的定义就很好地满足了这些条件。
定义 1 定义 A \ge B,当且仅当下面条件中至少一个满足:
设 A 和 B 的所有儿子的子树按强弱关系从强到弱排序后分别为 a_1,\dots,a_n 和 b_1,\dots,b_m,则 a 数组的字典序不小于 b 数组。
两个数同构定义为 A = B。<,>,\le,\not = 等符号的定义类似,下不赘述。
一些显而易见的性质:
性质 1 若 A \ge B,B \ge C,则 A \ge C。
性质 2 两棵树 A,B 同构当且仅当 A \ge B 且 B \ge A。
证明一个有关强弱关系的性质:
性质 3 若两个树 A 和 B 满足 A 的高度大于 B 的高度,则 A > B。
证明 用数学归纳法。
若 B 的高度为 1,A 的高度大于 1,则 B 的点数为 1。A > B 显然。
假设 B 的高度不大于 k 时结论都成立。当 B 的高度为 k+1 时,根据归纳假设,令 A 和 B 的所有儿子的子树中,最强的分别为 A_1 和 B_1。根据归纳假设,有 A_1 的高度为 A 的高度 -1,B_1 的高度为 B 的高度 -1 也就是 k。因为 A 的高度大于B 的高度,所以 A_1 的高度大于 B_1 的高度,由归纳假设知 A_1 > B_1,于是由定义 A>B。