VB二叉树的基本性质

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:27:59
度为0的结点(即叶子结点)总是比度为2的结点多一个;
怎么理解啊?

Private Sub Command1_Click()
Dim s As String, pos As Integer
Dim j As Integer, k As Integer
Dim a(3, 3) As Integer, i As Integer
s = Text1
For i = 1 To 3
For j = 1 To 3
k = 0
pos = pos + 1
Do While Mid(s, pos, 1) <> "" And pos <= Len(s)
pos = pos + 1
k = k + 1
Loop
a(i, j) = Mid(s, pos - k, k)

Text2 = Text2 & CStr(a(i, j)) & ""
Next j
Text2 = Text2 & vbCrLf
Next i

绝对为楼主原创:
设度为0的节点为n0,度为1的节点为n1,度为2的节点为n2,总边数为b。
首先,总边数一定比总节点数少1,你想想是不是这样,2个顶点1条边,3个顶点的只有2条边,五个节点的二叉树不管你怎么画都是4条边。
这样我们得出第一个式子:
n0+n1+n2=b+1
第二步,一个度为2的顶点,意味着伸展出去两条边;一个度为1的顶点,意味着伸展出去1条边;一个度为0的顶点,意味着伸展出去0条边。
所以就有了2式:
b=n2*2+n1+n0*0
联立两个式子可以得出
n0=n2+1