考研数据结构计算机网络刷题,计算机考研:数据结构常用算法精析(6)

第六章

结点的出度(OD):结点拥有的非空子树数目。

结点的入度(ID):指向结点的分支(或有向弧、指针)的数目。

树的度(TD):树中结点出度的大值。

结点的度:该结点的出度

例如 在下述结论中,正确的是( D )【南京理工大学 1999 一、4 (1分)】

①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子树可任意交换;④深度为K的完二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③ B.②③④ C.②④ D.①④

有关二叉树下列说法正确的是( B )【南京理工大学 2000 一、11 (1.5分)】

A.二叉树的度为2 B.一棵二叉树的度可以小于2

C.二叉树中至少有一个结点的度为2 D.二叉树中任何一个结点的度都为2

有序树和无序树:若树中任一结点的各子树从左到右有序,则该树为有序树(强调子树的次序),否则为无序树。(只强调各子树之间相对有序,而并不像二叉树那样,当只有一个子树是要么是左子树要么是右子树。而在有序树中,只有一个子树的有序树就不了。)

例题:在下列情况中,可称为二叉树的是( B )

A.每个结点至多有两棵子树的树 B. 哈夫曼树 C.每个结点至多有两棵子树的有序树 D. 每个结点只有一棵右子树 E.以上答案都不对

C错在有序树不一定是二叉树,有序只是子树的相对保持有序,并没有严格定义具体那颗子树就是第几颗子树。

森林(或树林):m(m≥0) 棵互不相交的有序树的有序集合。

深度=h(h≥1)的K(K>1)叉树至多有( -1)/(K-1)个结点。

包含n(n≥0)个结点的K(K>1)叉树的小深度为:

证:设有n个结点的K叉树的深度为h,若该树h-1层都是满的,即每层有大结点数 -1(1≤i≤h-1),且其余结点都落在第h层,则该树的深度达小,如图6.11所示:

或:(Kh-1 -1)

即:Kh-1

取对数:(h-1)

因为h为正整数,所以:h=

含有n(n ≥1)个结点的完二叉树的深度

n个叶结点的非满的完二叉树的度是élog2nù+1。(下层结点数>=2)。

设完二叉树BT结点数为n,结点按层编号。对BT中第i结点(1≤i≤n),注意结点编号从1开始,在数组存储时也是从数组1开始,若题目已然确定从0开始,则在计算孩子父亲结点时都需要重新变换一下。

有:

(1)若i=1,则i结点(编号为i的结点)是BT之根,无双亲;否则( i>1),parent(i)= ,即i结点双亲的编号为 ;

(2)若2i>n,则i结点无左子,否则Lchild(i)=2i,即i结点的左子位于第2i号结点;

(3)若2i+1>n,则i结点无右子,否则Rchild(i)=2i+1,即i结点的右子位于第2i+1号结点。

证明:采用数学归纳法,先证(2)和(3)。

设n个结点的完二叉树如图所示。

i=1时,显然 i 结点的左子编号为2,i的右子编号为2+1=3,除非2>n , 3>n 。

设对i结点,命题(2)、(3)成立,即Lchild(i)=2i,Rchild(i)=2i+1。根据按层编号规则,i+1时有:

Lchild(i+1)=(2i+1)+1=2(i+1),除非2(i+1)>n,

Rchild(i+1)=(2i+1)+1+1=2(i+1)+1,除非2(i+1)+1>n,

故(2)、(3)得证。

再证(1),它可看作是(2)、(3)的推广。

因Lchild(j)=2j,所以Parent(2j)=j,令2j=i,有 Parent(i)=i/2= (i/2为正整数);

又:Rchild(j)=2j+1,所以Parent(2j+1)=j,令2j+1=i (i=3,5,7…),有:

Parent(i)=(i-1)/2= ,证毕。

n

2i

2i+1

1

2

3

2i+1+1

2i+1+2

i

i+1

例题:一棵完二叉树上有1001个结点,其中叶子结点的个数是( )【西安交通大学 1996 三、2 (3分)】

A. 250 B. 500 C.254 D.505 E.以上答案都不对 501

例题1:由二叉树结点的公式:n=n0+n1+n2=n0+n1+(n0-1)=2n0+n1-1, 因为n=1001,所以1002=2n0+n1,在完二叉树树中,n1只能取0或1,在本题中只能取0,故n=501,因此选E。

例题2:度为K的完二叉树至少有_ __个叶子结点。(刚好第K上只有一个叶子时,度为K,N= -1+1= 例题3:在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是

用顺序存储二叉树时,要按完二叉树的形式存储,非完二叉树存储时,要加“虚结点”。设编号为i和j的结点在顺序存储中的下标为s 和t ,则结点i和j在同一层上的条件是ëlog2sû=ëlog2tû。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值