握手引理和有趣的树属性
什么是握手引理?
握手引理是关于无向图的。在每个有限无向图中,偶数个顶点的度数总是奇数。握手引理是度数和公式的结果(有时也称为握手引理)
握手引理在树数据结构中有何用处?
以下是可以使用握手引理证明的一些有趣事实。
1) 在每个节点有 0 或 k 个子节点的 k-ary 树中,以下属性始终为真。
L = (k - 1)*I + 1
Where L = Number of leaf nodes
I = Number of internal nodes
证明:
证明可以分为两种情况。
情况1 (Root is Leaf):树中只有一个节点。上面的公式对于单个节点是正确的,因为 L = 1,I = 0。
情况 2 (根是内部节点):对于超过 1 个节点的树,根始终是内部节点。对于这种情况,可以使用握手引理证明上述公式。树是无向无环图。
树的总边数是节点数减1,即|E| = L + I – 1。
在给定类型的树中,除根以外的所有内部节点的度数为 k + 1。根的度数为 k。所有叶子的度数都是 1。将握手引理应用于这些树,我们得到以下关系。
Sum of all degrees = 2 * (Sum of Edges)
Sum of degrees of leaves +
Sum of degrees for Internal Node except root +
Root's degree = 2 * (No. of nodes - 1)
Putting values of above terms,
L + (I-1)*(k+1) + k = 2 * (L + I - 1)
L + k*I - k + I -1 + k = 2*L + 2I - 2
L + K*I + I - 1 = 2*L + 2*I - 2
K*I + 1 - I = L
(K-1)*I + 1 = L
所以上面的性质是用握手引理证明的,让我们讨论一个更有趣的性质。
替代证明:(不使用握手定理)
由于有 I 个内部节点,每个节点都有 K 个子节点,因此树中的子节点总数 = K * I。
有 I-1 个内部节点是某个其他节点的子节点(根已被排除,因此比内部节点的总数少一个)
也就是说,在这些 K*I 子节点中,I-1 是内部节点,因此其余 (K*I – (I-1)) 是叶节点。
因此 L = (K-1)*I + 1。 2)在二叉树中,叶子节点的数量总是比有两个孩子的节点多一。
L = T + 1
Where L = Number of leaf nodes
T = Number of internal nodes with two children
证明:
令有2个孩子的节点数为T。证明可分为三种情况。
案例1:只有一个节点,关系成立
当 T = 0,L = 1。
情况2:根有两个孩子,即根的度数为2。
Sum of degrees of nodes with two children except root +
Sum of degrees of nodes with one child +
Sum of degrees of leaves + Root's degree = 2 * (No. of Nodes - 1)
Putting values of above terms,
(T-1)*3 + S*2 + L + 2 = (S + T + L - 1)*2
Cancelling 2S from both sides.
(T-1)*3 + L + 2 = (T + L - 1)*2
T - 1 = L - 2
T = L - 1
案例3:根有一个孩子,即根的度数为1。
Sum of degrees of nodes with two children +
Sum of degrees of nodes with one child except root +
Sum of degrees of leaves + Root's degree = 2 * (No. of Nodes - 1)
Putting values of above terms,
T*3 + (S-1)*2 + L + 1 = (S + T + L - 1)*2
Cancelling 2S from both sides.
3*T + L -1 = 2*T + 2*L - 2
T - 1 = L - 2
T = L - 1
因此,在所有三种情况下,我们得到 T = L-1。
我们已经讨论了使用握手引理证明树的两个重要属性。关于这些属性已经提出了许多 GATE 问题,以下是一些链接。
GATE-CS-2015(第 3 套)|问题 35
GATE-CS-2015(第 2 套)|问题 20
门-CS-2005 |问题 36
门-CS-2002 |问题 34
门-CS-2007 |问题 43