A.mk-1B.mk-1C.mh-1D.mh-1
11.在一棵高度为k的满二叉树中,结点总数为()
A.2k-1B.2kC.2k-1D.log2k+1
12.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用()次序的遍历实现编号。
A.先序B.中序C.后序D.从根开始按层次遍历
13.树的后根遍历序列等同于该树对应的二叉树的().
A.先序序列B.中序序列C.后序序列
14.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历是()。
A.acbedB.decabC.deabcD.cedba
15.二叉树的先序遍历和中序遍历如下:
先序遍历:
EFHIGJK;中序遍历:
HFIEJKG。
该二叉树根的右子树的根是:
A、EB、F C、G D、H
16.n个结点的线索二叉树上含有的线索数为()
A.2nB.n-lC.n+lD.n
17.下述编码中哪一个不是前缀码()。
A.(00,01,10,11)B.(0,1,00,11)C.(0,10,110,111)D.(1,01,000,001)
18.从下列有关树的叙述中,选出5条正确的叙述()
A.二叉树中每个结点有两个子结点,而树无此限制,因此二叉树是树的特殊情况。
B.当K≥1时高度为K的二叉树至多有2k-1个结点。
C.用树的前序周游和中序周游可以导出树的后序周游。
D.线索二叉树的优点是便于在中序下查找前驱结点和后继结点。
E.将一棵树转换成二叉树后,根结点没有左子树。
F.一棵含有N个结点的完全二叉树,它的高度是LOG2N+1。
G.在二叉树中插入结点,该二叉树便不再是二叉树。
H.采用二叉树链表作树的存储结构,树的前序周游和其相应的二叉树的前序周游的结果是一样的。
I.哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。
J.用一维数组存储二叉树时,总是以前序周游存储结点。
判断题:
1.完全二叉树中,若一个结点没有左孩子,则它必是树叶。
2.二叉树只能用二叉链表表示。
3.在二叉树的第i层上至少有2i-1个结点(i>=1)
4.度为二的树就是二叉树。
5.在中序线索二叉树中,每一非空的线索均指向其祖先结点。
填空题:
1.具有256个结点的完全二叉树的深度为______。
2.已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有______个叶子结点。
3.在一棵二叉树中,度为零的结点的个数为N0,度为2的结点的个数为N2,则有N0=______
4.已知二叉树有50个叶子结点,则该二叉树的总结点数至少是______。
5.设F是由T1,T2,T3三棵树组成的森林,与F对应的二叉树为B,已知T1,T2,T3的结点数分别为n1,n2和n3则二叉树B的左子树中有__
(1)_个结点,右子树中有_
(2)__个结点。
6.如某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数为______。
算法应用题
1、已知一棵度为m的树中有n1个度为1的结点,n2个度为2的结点,……,nm个度为m的结点,问该树中有多少个叶子结点?
2、已知一棵满二叉树的结点个数为20到40之间的素数,此二叉树的叶子结点有多少个?
(请给出具体的推理过程)
3、请采用顺序存储方式和链式存储方式,分别写出下图所示二叉树的存储结构。
A
BC
DEF
GH
4、求出上图所示二叉树的前序、中序和后序序列。
5、以二叉链表做存储结构,试编写按层次顺序(同一层自左至右)遍历二叉树的算法。
6、设一棵二叉树的先序、中序遍历序列分别为
先序遍历序列:
ABDFCEGH中序遍历序列:
BFDAGEHC
(1)画出这棵二叉树。
(2)画出这棵二叉树的中序线索树
(3)画出这棵二叉树的后序线索树
7、假设一个二叉树的两种遍历如下:
前序:
ABFGCHDEIJLK中序:
FGBHCDILJKEA
画出这棵二叉树以及它的中序线索树;
8、给定一组权值3,27,7,8,14,23,6,12
(1)试画出用Huffman算法建造的Huffman树;
(2)求Huffman编码和平均编码长度(考虑概率)
9、将下列森林转化为二叉树。
10、求上述森林的前序和中序序列。
算法设计题:
1.设计算法,求前序线索树中结点P的后继
2.设计算法,求中序线索树中结点P的后继
3.用二叉链表表示的二叉树T,结点的值为整型,请设计算法,求T中结点值大于0的结点数,并作为算法的返回值。
第七章图
选择题
1.设无向图的顶点个数为n,则该图最多有()条边。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0E.n2
2.一个n个顶点的连通无向图,其边的个数至少为()。
A.n-1B.nC.n+1D.nlogn;
3.一个有n个结点的图,最少有()个连通分量,最多有()个连通分量。
A.0B.1C.n-1D.n
4.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。
A.1/2B.2C.1D.4
5.下列哪一种图的邻接矩阵是对称矩阵?
()
A.有向图B.无向图C.AOV网D.AOE网
6.当一个有N个顶点的图用邻接矩阵A表示时,顶点Vi的度是()。
A.
B.
C.
D.
+
7.下面哪一方法可以判断出一个有向图是否有环(回路):
A.深度优先遍历B.拓扑排序C.求最短路径D.广度优先遍历
8.在图采用邻接表存储时,求最小生成树的Prim算法的时间复杂度为()。
A.O(n)B.O(n+e)C.O(n2)D.O(n3)
9.求解最短路径的Floyd算法的时间复杂度为()。
A.O(n)B.O(n+c)C.O(n*n)D.O(n*n*n)
10.若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列()。
A.存在B.不存在
11.一个有向无环图的拓扑排序序列()是唯一的。
A.一定B.不一定
12.在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是()。
A.G中有弧B.G中有一条从Vi到Vj的路径
C.G中没有弧D.G中有一条从Vj到Vi的路径
13.在用邻接表表示图时,拓扑排序算法时间复杂度为()。
A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)
14.关键路径是事件结点网络中()。
A.从源点到汇点的最长路径B.从源点到汇点的最短路径C.最长回路D.最短回路
15.下列关于AOE网的叙述中,不正确的是()。
A.关键活动不按期完成就会影响整个工程的完成时间
B.任何一个关键活动提前完成,那么整个工程将会提前完成
C.所有的关键活动提前完成,那么整个工程将会提前完成
D.某些关键活动提前完成,那么整个工程将会提前完成
判断题
1.有e条边的无向图,在邻接表中有e个结点。
()
2.有向图的邻接矩阵是对称的。
()
3.任何无向图都存在生成树。
()
4.不同的求最小生成树的方法最后得到的生成树是相同的.()
5.有环图也能进行拓扑排序。
()
6.关键路径是AOE网中从源点到终点的最长路径。
()
填空题
1.具有10个顶点的无向图,边的总数最多为______。
2.在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要______条弧。
3.n个顶点的连通无向图,其边的条数至少为______。
4.N个顶点的连通图用邻接矩阵表示时,该矩阵至少有_______个非零元素。
5.构造连通网最小生成树的两个典型算法是______。
6.有一个用于n个顶点连通带权无向图的算法描述如下:
(1).设集合T1与T2,初始均为空;
(2).在连通图上任选一点加入T1;
(3).以下步骤重复n-1次:
a.在i属于T1,j不属于T1的边中选最小权的边;
b.该边加入T2。
上述算法完成后,T2中共有______条边,该算法称______算法,T2中的边构成图的______。
7.AOV网中,结点表示______,边表示______。
AOE网中,结点表示______,边表示______。
8.当一个AOV网用邻接表表示时,可按下列方法进行拓扑排序。
(1).查邻接表中入度为______的顶点,并进栈;
(2).若栈不空,则①输出栈顶元素Vj,并退栈;②查Vj的直接后继Vk,对Vk入度处理,处理方法是______;
(3).若栈空时,输出顶点数小于图的顶点数,说明有______,否则拓扑排序完成。
算法应用题
1、对n个顶点的无向图,采用邻接矩阵表示,如何判别下列有关问题
1)图中有多少条边?
2)任意两个顶点i和j是否有边相连?
3)任意一个顶点的度是多少?
2.设G=(V,E)以邻接表存储,试写出深度优先和广度优先序列。
3、已知一无向图的邻接矩阵如下,求该图从顶点V1出发的广度优先遍历和深度优先遍历序列。
0010010
0001001
1001010
0110111
0001000
1011001
0101010
4.下图表示一个地区的通讯网,边表示城市间的通讯线路,边上的权表示架设线路花费的代价,如何选择能沟通每个城市且总代价最省的n-1条线路,画出所有可能的选择。
5、对下面的有向图,试利用DIJKSTRA算法从顶点1到其它顶点的最短路径,并写出执行该算法过程中每次循环的状态。
6、对下面的AOE网,求出各项活动的最早开始时间e(i)和最迟开始时间l(i),并回答:
工程完成的最短时间是多少?
哪些是关键活动?
7.下图是带权的有向图G的邻接表表示法,求:
(1).以结点V1出发深度遍历图G所得的结点序列;
(2).以结点V1出发广度遍历图G所得的结点序列;
(3).从结点V1到结点V8的最短路径;
(4).从结点V1到结点V8的关键路径。
第九章查找
选择题
1、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为()
A.(N+1)/2B.N/2C.ND.[(1+N)*N]/2
2.下面关于二分查找的叙述正确的是()
A.表必须有序,表可以顺序方式存储,也可以链表方式存储
B.表必须有序且表中数据必须是整型,实型或字符型
C.表必须有序,而且只能从小到大排列
D.表必须有序,且表只能以顺序方式存储
3.二叉查找树的查找效率与二叉树的(
(1))有关,在(
(2))时其查找效率最低
(1):
A.高度B.结点的多少C.树型D.结点的位置
(2):
A.结点太多B.完全二叉树C.呈单枝树D.结点太复杂。
4.若采用链地址法构造散列表,散列函数为H(key)=keyMOD17,则需(
(1))个链表。
这些链的链首指针构成一个指针数组,数组的下标范围为(
(2))
(1)A.17B.13C.16D.任意
(2)A.0至17B.1至17C.0至16D.1至16
判断题
1.Hash表的平均查找长度与处理冲突的方法无关。
2.若散列表的负载因子α<1,则可避免碰撞的产生。
3.就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。
填空题
1.在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20,需做的关键码比较次数为____.
算法应用题
1.设有一组关键字{9,01,23,14,55,20,84,27},采用哈希函数:
H(key)=keymod7,表长为10,用开放地址法的二次探测再散列方法Hi=(H(key)+di)mod10解决冲突。
要求:
对该关键字序列构造哈希表,并计算查找成功的平均查找长度。
2.已知散列表的地址空间为A[0..11],散列函数H(k)=kmod11,采用线性探测法处理冲突。
请将下列数据{25,16,38,47,79,82,51,39,89,151,231}依次插入到散列表中,并计算出在等概率情况下查找成功时的平均查找长度。
3、对长度为20的有序表进行二分查找,试画出它的一棵判定树,并求等概率情况下的平均查找长度。
4、设散列表的长度为15,散列函数H(K)=K%13,给定的关键字序列为20,16,29,82,37,02,06,28,55,39,23,10,试写出分别用拉链法和线性探测法解决冲突时所构造的散列表,并求出在等概率情况下,这两种方法查找成功时的平均查找长度。
第十章内部排序
选择题
1.下面给出的四种排序法中()排序法是不稳定性排序法。
A.插入B.冒泡C.二路归并D.堆排序
2.下列排序算法中,其中()是稳定的。
A.堆排序,冒泡排序B.快速排序,堆排序
C.直接选择排序,归并排序D.归并排序,冒泡排序
3.下面的排序算法中,不稳定的是()
A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。
4.在下面的排序