2-1将{ 5, 11, 13, 1, 3, 6 }依次插入初始为空的二叉搜索树。则该树的后序遍历结果是:(3分)
- A.1, 3, 11, 6, 13, 5
- B.1, 3, 5, 6, 13, 11
- C.3, 1, 6, 13, 11, 5
- D.3, 1, 5, 6, 13, 11
作者: 何钦铭
单位: 浙江大学
2-2若一棵二叉树的前序遍历序列是{ 4, 2, 1, 3, 6, 5, 7 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(3分)
- A.2是5的父结点
- B.这是一棵二叉搜索树
- C.所有的奇数都在叶子结点上
- D.这是一棵完全二叉树
作者: 何钦铭
单位: 浙江大学
2-3将{ 32, 2, 15, 65, 28, 10 }依次插入初始为空的二叉搜索树。则该树的前序遍历结果是:(3分)
- A.32, 2, 10, 15, 28, 65
- B.32, 2, 15, 10, 28, 65
- C.10, 28, 15, 2, 65, 32
- D.2, 10, 15, 28, 32, 65
作者: 陈越
单位: 浙江大学
2-4若二叉搜索树是有N个结点的完全二叉树,则不正确的说法是:(1分)
- A.中位值结点在根结点或根的左子树上
- B.最大值一定在叶结点上
- C.最小值一定在叶结点上
- D.所有结点的平均查找效率是O(logN)
作者: 何钦铭
单位: 浙江大学
2-5在有n(n>1000)个元素的升序数组A中查找关键字x。查找算法的伪代码如下所示:
k = 0;
while ( k<n 且 A[k]<x ) k = k+3;
if ( k<n 且 A[k]==x ) 查找成功;
else if ( k-1<n 且 A[k-1]==x ) 查找成功;
else if ( k-2<n 且 A[k-2]==x ) 查找成功;
else 查找失败;
本算法与二分查找(折半查找)算法相比,有可能具有更少比较次数的情形是:(2分)
- A.当x位于数组中间位置
- B.当x接近数组结尾处
- C.当x接近数组开头处
- D.当x不在数组中
作者: DS课程组
单位: 浙江大学
2-6用二分查找从100个有序整数中查找某数,最坏情况下需要比较的次数是:(2分)
- A.50
- B.99
- C.10
- D.7
作者: DS课程组
单位: 浙江大学
2-7下列二叉树中,可能成为折半查找判定树(不含外部结点)的是: (4分)
- A
- B
- C
- D
作者: 考研试卷
单位: 浙江大学
2-8对二叉搜索树进行什么遍历可以得到从小到大的排序序列? (1分)
- A.层次遍历
- B.中序遍历
- C.后序遍历
- D.前序遍历
作者: DS课程组
单位: 浙江大学
2-9若一棵二叉树的后序遍历序列是{ 1, 3, 2, 6, 5, 7, 4 },中序遍历序列是{ 1, 2, 3, 4, 5, 6, 7 },则下列哪句是错的?(3分)
- A.7是5的父结点
- B.这是一棵二叉搜索树
- C.2是1和3的父结点
- D.这是一棵完全二叉树
作者: 陈越
单位: 浙江大学
2-10已知8个数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉搜索树后,最后两层上的结点总数为: (2分)
- A.2
- B.4
- C.3
- D.1
作者: DS课程组
单位: 浙江大学
2-11若二叉搜索树是有N个结点的完全二叉树,则不正确的说法是:(1分)
- A.中位值结点在根结点或根的左子树上
- B.最小值一定在叶结点上
- C.最大值一定在最后一层
- D.平均查找效率是O(logN)
作者: DS课程组
单位: 浙江大学
2-12下列叙述正确的是()。 (2分)
- 虽然给出关键字序列的顺序不一样,但依次生成的二叉搜索树却是一样的。
- 在二叉搜索树中插入一个新结点,总是插入到最下层,作为新的叶子结点。
- 二叉树中除叶结点外, 任一结点X,其左子树根结点的值小于该结点(X)的值;其右子树根结点的值≥该结点(X)的值,则此二叉树一定是二叉搜索树。
- 在任意一棵非空二叉搜索树,删除某结点后又将其插入,则所得二叉搜索树与删除前原二叉搜索树相同。
作者: 严冰
单位: 浙江大学城市学院
2-13已知一个长度为16的顺序表L,其元素按关键字有序排列。若采用二分查找法查找一个L中不存在的元素,则关键字的比较次数最多是: (2分)
- A.7
- B.6
- C.5
- D.4
作者: DS课程组
单位: 浙江大学