1、计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 5 及答案与解析一、单项选择题1 一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是( )。【西安交通大学 1996 三、2(3 分) 】(A)250(B) 500(C) 254(D)505(E)以上答案都不对2 一棵 124 个叶结点的完全二叉树,最多有( )个结点。【中国科学技术大学 1995十四、3(2 分) 】(A)247(B) 248(C) 249(D)250 (E)2513 已知一棵完全二叉树中共有 626 个结点,叶子结点的个数应为( )。【上海交通大学 2005 四、6(2 分) 】(A)3 11(B) 3 12
2、(C) 3 13(D)3 14(E)其他4 具有 300 个结点的二叉树,其高度至少应为( )。【北京理工大学 2006 五、8(1分)】(A)6(B) 7(C) 8(D)95 当结点数目一定时,具有最小深度的二叉树是( )。【北京航空航天大学 2005】(A)满二叉树(B)完全二叉树(C)线索二叉树(D)二叉排序树6 二叉树的第 I 层上最多含有的结点数为( )。【中山大学 1998 二、7(2 分)】【北京理工大学 2001 六、5(2 分)】(A)2 I(B) 2I-1 一 1(C) 2I-1 (D)2 I 一 17 从树根(第 0 层) 起,自上到下,逐层从左到右给二叉树的所有结点从
3、1 开始编号,则完全二叉树的第 h 层的从左到右第 k 个结点的编号为( )。【电子科技大学 2005一、6(1 分) 】(A)2 h+h-1(B) 2h 一 k+1(C) 2h+k+1 (D)2 h 一 k-18 下列判断中,( ) 是正确的。【华南理工大学 2006 一、2(2 分)】(A)深度为 k 的二叉树最多有 2k-1 个结点(k1),最少有 k 个结点(B)二叉树中不存在度大于 2 的结点(C)对二叉树遍历是指先序、中序或后序遍历中的一种(D)构造线索二叉树是为能方便找到每个结点的双亲9 一个具有 1025 个结点的二叉树的高 h 为( )。【南京理工大学 1999 一、19(2
4、 分)】(A)1 1(B) 10(C) 11 至 1025 之间(D)10 至 1024 之间10 一棵二叉树高度为 h,所有结点的度或为 0,或为 2,则这棵二叉树最少有( )个结点。【南京理工大学 2001 一、11(15 分)】【华中科技大学 2007 一、4(2 分)】【江苏大学 2004 一、6(2 分)】(A)2h(B) 2h-1(C) 2h+1 (D)h+111 设二叉树中有 n2 个度为 2 的结点,有,11 个度为 1 的结点,有 n0 个度为 0 的结点,则该二叉树中空指针个数为( )。【重庆大学 2005】(A)n 2+n1+n0(B) n2+n1+2n0(C) 2n2+
5、n1 (D)n 1+2n012 一棵具有 n 个结点的完全二叉树的树高(深度)是( )。【南京理工大学 1996 一、8(2 分)】(A)logn+1(B) logn+1(C) logn(D)logn-113 有 n(n0)个结点的二叉树的深度的最小值是 ( )。【华中科技大学 2006 一、6(2分)】(A)log 2(n)(B) log2(n+1)(C) log2(n+1)(D)log 2(n)14 有 n 个结点,并且高度为 n 的二叉树的数目为( )。【华中科技大学 2007 一、10(2 分 )】(A)log 2n(B) n2(C) n (D)2 n-115 深度为 h 的满 m 叉
6、树的第 k 层有( )个结点。(1kh)【北京航空航天大学 2000一、4(2 分) 】(A)m k-1(B) mk-1(C) mk-1 (D)m k-116 有 n(n0)个分支结点的满二叉树的深度是 ( )。【华中科技大学 2004 一、6(1分)】(A)n 2 一 1(B) log2(n+1)+1(C) log2(n+1)(D)log 2(n 一 1)17 一棵树高为 k 的完全二叉树至少有( )个结点。【南京理工大学 1998 一、3(2分)】(A)2 k-1(B) 2k-1 一 1(C) 2k-1 (D)2 k18 一棵深度为 4 的完全二叉树,最少有( )个结点。【华南理工大学 2
7、005 一、1(2分)】(A)4(B) 8(C) 15 (D)619 若某完全二叉树的结点个数为 100,则第 60 个结点的度为( )。【西南交通大学 2005】(A)0(B) 1(C) 2 (D)不确定20 若用一维数组表示一个深度为 5、结点个数为 10 的二叉树,数组的长度至少为( )。【北京理工大学 2006 九、9(1 分) 】(A)10(B) 16(C) 31(D)6421 将有关二叉树的概念推广到三叉树,则一棵有 244 个结点的完全三叉树的高度为( )。【南京理工大学 2000 一、5(15 分) 】【烟台大学 2007 一、13(2 分)】(A)4(B) 5(C) 6(D)
8、722 任何一棵二叉树的叶子结点在其先序、中序、后序遍历序列中的相对位置( )。【北京交通大学 2006 一、3(2 分)】(A)肯定发生变化(B)有时发生变化(C)肯定不发生变化(D)无法确定23 在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结点的先后顺序( )。【北方交通大学 2001 一、25(2 分)】(A)都不相同(B)完全相同(C)先序和中序相同,而与后序不同(D)中序和后序相同,而与先序不同24 对二叉树的结点从 1 开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。【北京
9、理工大学 2000 一、4(2 分)】【南开大学 2005】(A)先序(B)中序(C)后序(D)从根开始按层次遍历25 若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。【北京航空航天大学 1999 一、4(2 分)】(A)前序(B)中序(C)后序(D)按层次26 下面不能唯一确定一棵二叉树的两个遍历序列是( )。【北京理工大学 2006 九、10(1 分 )】(A)先序序列和中序序列(B)先序序列和后序序列(C)后序序列和中序序列(D)都不能27 根据( ) 可以唯一地确定一棵二叉树。【北京理工大学 2005 一、8(1 分)】(A)先序遍历和后序
10、遍历(B)先序遍历和层次遍历(C)中序遍历和层次遍历(D)中序遍历和后序遍历二、判断题28 对一棵二叉树进行层次遍历时,应借助于一个栈。( )【南京航空航天大学1995 五、3(1 分) 】(A)正确(B)错误29 在含有 n 个结点的树中,边数只能是 n 一 1 条。( )【中国海洋大学 2003 一、8(2 分)】(A)正确(B)错误30 采用二叉链表作存储结构,树的前序遍历和其相应的二叉树的前序遍历的结果是一样的。 ( ) 【北京邮电大学 2000 一、2(1 分) 】(A)正确(B)错误31 树的数组表示法(单链或父链表示法)中兄弟结点的编号不一定是连续的。( )【哈尔滨工业大学 20
11、02 三、3(1 分)】(A)正确(B)错误32 不用递归就不能实现二叉树的前序遍历。( )【北京邮电大学 2006 二、6(1 分)】(A)正确(B)错误33 任何二叉树的后序线索树进行后序遍历时都必须用栈。( )【西安交通大学1996 二、2(3 分) 】(A)正确(B)错误34 任何一棵二叉树都可以不用栈实现前序线索树的前序遍历。( )【西安交通大学 1996 二、1(3 分) 】(A)正确(B)错误35 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后继的线索。( )【北京交通大学 2005 三、2(2 分)】【中南大学 2005 三、3(2 分)】(A)正确(B)错误36 在中序
12、线索二叉树中,每一非空的线索均指向其祖先结点。( )【合肥工业大学 2000 二、5(1 分) 】(A)正确(B)错误37 二又树按照某种顺序线索化之后,任一个结点均有指向其前驱结点或者后继结点的线索。( ) 【哈尔滨工业大学 2003 二、5(1 分)】(A)正确(B)错误38 树的父链表示法其实就是用数组表示树的存储结构。( )【哈尔滨工业大学2004 三、5(1 分) 】(A)正确(B)错误39 一般来说,若深度为 k 的 n 个结点的二叉树只有最小路径长度,那么从根结点到第 k-1 层具有最多的结点数为 2k-1 一 1,余下的,n 一 2k-1+1 个结点在第七层的任一位置上。( )
13、 【北京师范大学 2005 三、2(5 分) 】(A)正确(B)错误40 用六叉链表表示 30 个结点的六又树,则树中共有 151 个空指针。( )【北京邮电大学 2005 二、5(1 分) 】(A)正确(B)错误41 必须把一般树转换成二叉树后才能进行存储。( )【南京航空航天大学 1997 一、4(1 分)】(A)正确(B)错误42 树有先根遍历和后根遍历,树可以转化为对应的二叉树,树的后根遍历与其对应的二叉树的后根遍历相同。( )【北京交通大学 2005 三、4(2 分)】(A)正确(B)错误43 用树的前序遍历和中序遍历可以导出树的后序的遍历。( )【中国海洋大学2006 二、7(1
14、分) 】【中国海洋大学 2007 二、7(1 分)】(A)正确(B)错误计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编 5 答案与解析一、单项选择题1 【正确答案】 E2 【正确答案】 B3 【正确答案】 C4 【正确答案】 D5 【正确答案】 B【试题解析】 设结点数目是 n,n 个结点未必是满二叉树, A 错。C 和 D 明显错误。6 【正确答案】 C7 【正确答案】 A8 【正确答案】 A,B9 【正确答案】 C10 【正确答案】 B11 【正确答案】 D【试题解析】 度为 2 的结点没空指针,度为 1 的结点有一个空指针,度为 0 的结点(叶子 )有两个空指针。12 【正确答
15、案】 A13 【正确答案】 C14 【正确答案】 D【试题解析】 本题相当于二叉树的第 n 层上至多有多少个结点。结点数、高度和层次均为 n 的二叉树的叶子结点有 2n-1 个不同位置,形成 2n-1 棵不同的二叉树。15 【正确答案】 A16 【正确答案】 B17 【正确答案】 C【试题解析】 第 k-1 层以上是满二叉树,第 k 层只有最左边的一个叶子结点。18 【正确答案】 B19 【正确答案】 A20 【正确答案】 C【试题解析】 用一维数组存储二叉树要按完全二叉树的格式存储,一般二叉树要加“虚结点”,使之成为完全二叉树的形状。深度为 5 的完全二叉树至多有 25 一1=3 1 个结点
16、,所以数组长度要 31,和题中给的结点个数为 10 关系不大,只要结点个数在 5 至 31 之间,分配的数组长度都一样。21 【正确答案】 C【试题解析】 深度为 h 的满三叉树的结点数为 Nb=30+31+33+3h-1=(3h 一 1)2。22 【正确答案】 C23 【正确答案】 B24 【正确答案】 C25 【正确答案】 A,C【试题解析】 本题 A 和 C 均可。采用递归遍历:A 是若二叉树非空,则交换左右子树,再先序递归交换左子树,先序递归交换右子树。C 是若二叉树非空,后序递归交换左子树,后序递归交换右子树,最后交换根结点的左右子树。26 【正确答案】 B27 【正确答案】 C,D
17、【试题解析】 由二叉树的中序和先序,以及中序和后序都可以唯一确定一棵二叉树。此外,由二叉树的中序序列和层次序列,也可以唯一确定一棵二叉树。请参见下面四、63 和五、52。二、判断题28 【正确答案】 B29 【正确答案】 A30 【正确答案】 A31 【正确答案】 A【试题解析】 树的数组表示法中,每个数组元素有两个分量:data 表示结点数据,parent 表示该结点的双亲在数组中的下标。对兄弟结点的编号是否连续没要求,哪个结点放在哪个位置没要求。一般将根结点放数组最前面,子女结点接在双亲后面,这是为了形式好看,并非必须。32 【正确答案】 B33 【正确答案】 B【试题解析】 任何结点至多
18、只有左子树的后序线索树的遍历就不需要栈。34 【正确答案】 A35 【正确答案】 B【试题解析】 只有空指针的地方才能加指向前驱或后继的线索,有左右子女的结点,其左右指针指向左右子女。36 【正确答案】 A【试题解析】 在二叉树上,对有左右子女的结点,其中序前驱是其左子树上按中序遍历的最右边的结点(该结点的后继指针指向祖先),中序后继是其右子树上按中序遍历的最左边的结点(该结点的前驱指针指向祖先)。37 【正确答案】 B38 【正确答案】 A39 【正确答案】 A【试题解析】 该二叉树的 1 到 k-1 层可看做满二叉树,第 k 层有 n 一 2k-1+1 个结点,任意存放。40 【正确答案】 A41 【正确答案】 B42 【正确答案】 B43 【正确答案】 B【试题解析】 该结论只适合二又树。