关于完全二叉树
1个回答
展开全部
假设你是按层从左向右编号,根结点编号为0,
结点总数 = N
层数L = UPPER(log(N)/log(2));
其中:upper(x)是指取不小于X的最小整数。
底层结点数M = N-2^(L-1)+1
底层的上一层结点数X = 2^(L-2)
分支结点的最大编号= 2^(L-1)-2-(X-UPPER(M/2))
因此,总的公式是:
分支结点的最大编号 =
2^(UPPER(log(N)/log(2))-1)-2
-(2^(UPPER(log(N)/log(2))-2)
-UPPER((N-
2^(UPPER(log(N)/log(2))-1)+1)/2))
结点总数 = N
层数L = UPPER(log(N)/log(2));
其中:upper(x)是指取不小于X的最小整数。
底层结点数M = N-2^(L-1)+1
底层的上一层结点数X = 2^(L-2)
分支结点的最大编号= 2^(L-1)-2-(X-UPPER(M/2))
因此,总的公式是:
分支结点的最大编号 =
2^(UPPER(log(N)/log(2))-1)-2
-(2^(UPPER(log(N)/log(2))-2)
-UPPER((N-
2^(UPPER(log(N)/log(2))-1)+1)/2))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询