当前位置:首页 > 数据结构 复习题 习题 全六章 含答案
第六章 二叉树的应用
一、单选题
1. 从二叉搜索树中查找一个元素时,其时间复杂度大致为________。
2
A、 O(n) B、 O(1) C、 O(log2n) D、 O(n) 2. 向二叉搜索树中插入一个元素时,其时间复杂度大致为________。 A、 O(1) B、 O(log2n ) C、 O(n) D、 O(nlog2n) 3. 根据n个元素建立一棵二叉搜索树时,其时间复杂度大致为________。
2
A、 O(n) B、 O(log2n ) C、 O(n) D、 O(nlog2n) 4. 从堆中删除一个元素的时间复杂度为________。
A、 O(1) B、 O(n) C、 O(log2n) D、 O(nlog2n) 5. 向堆中插入一个元素的时间复杂度为________。
A、 O(log2n) B、 O(n) C、 O(1) D、 O(nlog2n)
6. 由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为________。
A、 24 B、 48 C、 72 D、 53
二、填空题
1. 在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定________该结点的值,右子树上所有结点的值一定________该结点的值。
2.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个________。 3.从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明_______,若元素的值小于根结点的值,则继续向________查找,若元素的大于根结点的值,则继续向________查找。 4.在一个堆的顺序存储中,若一个元素的下标为i,则它的左孩子元素的下标为______,右孩子元素的下标为________。
5. 在一个小根堆中,堆顶结点的值是所有结点中的________,在一个大根堆中,堆顶结点的值是所有结点中的________。
6.当从一个小根堆中删除一个元素时,需要把________元素填补到________位置,然后再按条件把它逐层________调整。
三、应用题
1. 已知一组元素为(46,25,78,62,12,37,70,29),画出按元素排列顺序输入生成的一棵二叉搜索树。
2. 空堆开始依次向堆中插入线性表(38,64,52,15,73,40,48,55,26,12)中的每个元素,请以线性表的形式给出每插入一个元素后堆的状态。
3. 已知一个堆为(12,15,40,38,26,52,48,64),若需要从堆中依次删除四个元素,请给出每删除一个元素后堆的状态。
4. 有七个带权结点,其权值分别为3,7,8,2,6,10,14,试以它们为叶子结点构造一棵哈夫曼树,并计算出带权路径长度WPL。
9
四、算法设计
1.编写在以BST为树根指针的二叉搜索树上进行查找值为item的结点的非递归算法,若查找成功则由item带回整个结点的值并返回true,否则返回false。 bool Find( BTreeNode * BST , ElemType & item )
2.下面的算法功能是向HBT堆中插入一个值为item的元素,使得插入后仍是一个堆。请在画有横线的地方填上合适的语句,完成其功能。
void AH(Heap & HBT , const ElemType item) // 形参HBT为一个小根堆
{
HBT.heap[HBT.size]=item; HBT.size++;
ElemType x=item int i=HBT.size-1; while ( i != 0 ){
int j= ;
if ( x>=HBT.heap[j]) break; ; ; }
HBT.heap[i]=x; }
第七章 图
一、填空题
1.在一个图中,所有顶点的度数之和等于所有边数的________倍。
2.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。
3. 在一个具有n个顶点的无向图中,要连通所有顶点则至少需要________条边。 4.表示图的三种存储结构为________、________和________。
5. 对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小为________。 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别为________和________条。
7. 在有向图的邻接表和逆邻接表表示中,每个顶点邻接表分别链接着该顶点的所有________和________结点。
8.对于一个具有n个顶点和e条边的有向图和无向图,若采用边集数组表示,则存于数组中的边数分别为________和________条。
9.对于一个具有n个顶点和e条边的无向图,当分别采用邻接矩阵、邻接表和边集数组表示时,求任一顶点度数的时间复杂度依次为________、________和________。
10
图G1图G2图G3
17.假定用一维数组d[n]存储一个AOV网中用于拓扑排序的顶点入度,则值为0的元素被链接成为一个________。
18. 对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为________和________。
二、应用题
1. 对于下图G4和G5,按下列条件试分别写出从顶点v0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。 (1) 假定它们均采用邻接矩阵表示; (2) 假定它们均采用邻接表表示,并且假定每个顶点邻接表中的结点是按顶点序号从大到小的次序链接的。 0012
65 14345
79
8 67823 图G4图G5
11
20 10. 假定一个图具有n个顶点和e条边,则采用邻接矩阵、邻接表和边集数组表示时,其相应的空间复杂度分别为________、________和________。 11. 对用邻接矩阵表示的图进行任一种遍历时,其时间复杂度为________,对用邻接表表示的图进行任一种遍历时,其时间复杂度为________。
12.对于下面的无向图G1,假定用邻接矩阵表示,则从顶点v0开始进行深度优先搜索遍历得到的顶点序列为____________,从顶点v0开始进行广度优先搜索遍历得到的顶点序列为____________。
13. 对于下面的有向图G2,假定用邻接矩阵表示,则从顶点v0开始进行深度优先搜索遍历得到的顶点序列为____________,从顶点v0开始进行广度优先搜索遍历得到的顶点序列为____________。
14. 对于下面的带权图G3,其最小生成树的权为________。
15.对于下面的带权图G3,若从顶点v0出发,则按照普里姆算法生成的最小生成树中,依次得到的各条边为_______________。
16. 对于下面的带权图G3,若按照克鲁斯卡尔算法产生最小生成树,则得到的各条边依次为_______________。
0 501AB8
1373 212C451 62345DE
2. 对于下图G6,试给出一种拓扑序列,若在它的邻接表存储结构中,每个顶点邻接表中的边结点都是按照终点序号从大到小链接的,则按此给出唯一一种拓扑序列。
2
057 39
168
4
图G6
第八章 查找
一、填空题 1.以顺序查找方法从长度为n的线性表中查找一个元素时,平均查找长度为________,时间复杂度为________。
2.以二分查找方法从长度为n的线性有序表中查找一个元素时,平均查找长度小于等于________,时间复杂度为________。 3.以二分查找方法从长度为12的有序表中查找一个元素时,平均查找长度为________。 4.以二分查找方法查找一个线性表时,此线性表必须是________存储的________表。 5.从有序表(12,18,30,43,56,78,82,95)中依次二分查找43和56元素时,其查找长度分别为________和________。
6.对于二分查找所对应的判定树,它既是一棵_______,又是一棵________。
7.假定对长度n=50的有序表进行二分查找,则对应的判定树高度为________,判定树中前5层的结点数为________,最后一层的结点数为________。
8.在索引表中,每个索引项至少包含有________域和________域这两项。 9.假定一个线性表为(12,23,74,55,63,40,82,36),若按Key % 3条件进行划分,使得同一余数的元素成为一个子表,则得到的三个子表分别为________、________和________。
10. 假定一个线性表为(”abcd”,”baabd”,”bcef”,”cfg”,”ahij”,”bkwte”,”ccdt”, ”aayb”),若按照字符串的第一个字母进行划分,使得同一个字母被划分在一个子表中,则得到的a,b,c三个子表的长度分别为________、________和________。
11.在线性表的________存储中,无法查找到一个元素的前驱或后继元素。 12.在线性表的________存储中,对每一个元素只能采用顺序查找。
13.假定对线性表(38,25,74,52,48)进行散列存储,采用H(K)=K % 7作为散列函数,若分别采用线性探查法和链接法处理冲突,则对各自散列表进行查找的平均查找长度分别为_______和________。
14.假定要对长度n=100的线性表进行散列存储,并采用链接法处理冲突,则对于长度m=20的散列表,每个散列地址的单链表的长度平均为________。
15. 在线性表的散列存储中,处理冲突有________和________两种方法。
16.对于线性表(18,25,63,50,42,32,90)进行散列存储时,若选用H(K)=K % 9作为散列函数,则散列地址为0的元素有________个,散列地址为5的元素有________个。
12
共分享92篇相关文档