2014计算机考研临考指导:数据结构常用算法精析6
数据结构是计算机考研408计算机学科专业基础综合的重要组成部分,考生需要认真复习,尤其是对于数据结构中一些常用的算法问题,考生一定要弄懂弄会,理解的去掌握,下面是第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, (责任编辑:tq2013)
页:
[1]