数据结构 陈雁 第5章 自测练习题参考答案
数据结构第五章 查找 答案
数据结构与算法上机作业第五章查找一、选择题1、若构造一棵具有n个结点得二叉排序树,在最坏情况下,其高度不超过 B 。
A、n/2B、nC、(n+1)/2D、n+12、分别以下列序列构造二叉排序数(二叉查找树),与用其她3个序列所构造得结果不同得就是 C :A、(100, 80, 90, 60, 120, 110, 130)B、(100, 120, 110, 130, 80, 60, 90)C、(100, 60, 80, 90, 120, 110, 130)D、(100, 80, 60, 90, 120, 130, 110)3、不可能生成下图所示得二叉排序树得关键字得序列就是 A 。
A、4 5 3 1 2B、4 2 5 3 1C、4 5 2 1 3D、4 2 3 1 54、在二叉平衡树中插入一个结点造成了不平衡,设最低得不平衡点为A,并已知A得左孩子得平衡因子为0,右孩子得平衡因子为1,则应作 C 型调整使其平衡。
A、LLB、LRC、RLD、RR5、一棵高度为k得二叉平衡树,其每个非叶结点得平衡因子均为0,则该树共有 C 个结点。
A、2k11B、2k1+1C、2k1D、2k+16、具有5层结点得平衡二叉树至少有 A 个结点。
A、12B、11C、10D、97、下面关于B与B+树得叙述中,不正确得就是 C 。
A、B树与B+树都就是平衡得多叉树B、B树与B+树都可用于文件得索引结构C、B树与B+树都能有效地支持顺序检索D、B树与B+树都能有效地支持随机检索8、下列关于m阶B树得说法错误得就是 D 。
A、根结点至多有m棵子树B、所有叶子结点都在同一层次C、非叶结点至少有m/2(m为偶数)或m/2+1(m为奇数)棵子树D、根结点中得数据就是有序得9、下面关于哈希查找得说法正确得就是 C 。
A、哈希函数构造得越复杂越好,因为这样随机性好,冲突小B、除留余数法就是所有哈希函数中最好得C、不存在特别好与坏得哈希函数,要视情况而定D、若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单地将该元素删去即可10、与其她查找方法相比,散列查找法得特点就是 C 。
数据结构习题课-数据结构习题课5
分析2
v1 v8
v6 v4
v2 v7
v5 v3
参考答案2
• 思路:直径是最长路径,从某点出发找距离最远的节点, 该节点必然位于直径的端点,从该端点出发找最长路径 即为直径。
pair<int, int > Graph_List::Farthest( int v ) {
Queue<pair<int, int >> q; pair<int, int > p(v, 0); q.QInsert( p ); while (!q.empty()) {
p = q.QDelete(); Edge * e = vertices[q.QDelete()].adjacent; for ( ; e != NULL; e = e->link ) {
6 63
5
4
16 1 11 2 5
6 63
18
5
4
第5章第19题
• 自由树(即无环连通图)T=(V, E)的直径是树中所有顶 点之间最短路径的最大值,试设计一个算法求T的直 径,并分析算法的时间复杂度。
• 【分级提示】
- (1)可用邻接表作为存储结构; - (2)引入一个辅助数组保存各顶点的度; - (3)执行删除过程; - (4)并修正各个顶点的度。
p next(p)
)
FirstSecond(v. first, second)
WHILE depth(first) > depth(second) + 1 DO (
DepthExp(v, first). v first
FirstSecond(v. first, second)
数据结构第四五六七章作业答案
数据结构第四五六七章作业答案数据结构第四、五、六、七章作业答案第四、五章一、填空题1.不包含任何字符(长度为0)的串称为空串;由一个或多个空格(仅由空格符)组成的串称为空白串。
2.设s=“a;/document/mary.doc”,则strlen(s)=20,“/”的边线为3。
3.子串的定位运算称为串的模式匹配;被匹配的主串称为目标串,子串称为模式。
4、串成的存储方式存有顺序存储、堆上分配存储和块链存储5、有一个二维数组a[0:8,1:5],每个数组元素用相邻的4个字节存储,存储器按字节编址,假设存储数组元素a[0,1]的地址是100,若按行主顺序存储,则a[3,5]的地址是176和a[5,3]的地址是208。
若按列存储,则a[7,1]的地址是128,a[2,4]的地址是216。
6、设立数组a[1…60,1…70]的基地址为2048,每个元素占到2个存储单元,若以列序居多序顺序存储,则元素a[32,58]的存储地址为8950。
7、三元素组表中的每个结点对应于稠密矩阵的一个非零元素,它涵盖存有三个数据项,分别则表示该元素的行负号、列于负号和元素值。
8、二维数组a[10][20]使用列序居多方式存储,每个元素占到10个存储单元,且a[0][0]的存储地址就是2000,则a[6][12]的地址就是32609、已知二维数组a[20][10]采用行序为主方式存储,每个元素占2个存储单元,并且a[10][5]的存储地址是1000,则a[18][9]的存储地址是116810、已知二维数组a[10][20]采用行序为主方式存储,每个元素占2个存储单元,并且a[0][0]的存储地址是1024,则a[6][18]的地址是130011、两个串相等的充分必要条件是长度相等、对应位置的字符相同。
12、二维数组a[10][20]使用列序居多方式存储,每个元素占到一个存储单元,并且a[0][0]的存储地址就是200,则a[6][12]的地址就是200+(12*10+6)=326。
数据结构 陈雁 第5章 自测练习题参考答案
第5章自测练习题参考答案1.设一个有向图G =(V,E),其中V={ v1,v2,v3,v4 },E={<v1,v4>,<v2,v1>,<v2,v3>,<v4,v1>,<v4,v2>}。
请画出该有向图,并求出每个顶点的入度与出度,画出相应的邻接矩阵、邻接表和逆邻接表。
解:有向图:V1入度2,出度1,v2入度1,出度2,v3入度1,出度0,v4入度1,出度2邻接阵:邻接表:逆邻接表:2.分别求出题图5-1从v 2出发按深度优先搜索和广度优先搜索算法遍历得到的顶点序列(假设图的存储结构采用邻接矩阵表示)。
解 :广度优先序列是:v2,v1,v3,v6,v4,v5 深度优先序列是:v2,v1,v3,v4,v5,v63.已知一个有向图的邻接表如题图5-2所示,求出根据深度优先搜索算法从顶点v 1出发遍历得到的顶点序列。
解 :深度优先序列是:v1,v3,v4,v5,v2 广度优先序列是:v1,v3,v2,v4,v54.分别用普里姆和克鲁斯卡尔算法构造题图5-3所示网络的最小生成树。
解 :普里姆算法: (v1,v3) (v3,v4)(v4,v5)(v4,v2) 或 (v5,v2)克鲁斯卡尔算法: (v4,v5)(v2,v4) 或 (v2,v5) (v1,v3) (v3,v4)5.求出题图5-4从顶点v 1到其它各顶点之间的最短路径。
解:(v1-v3 ) 5 (v1-v3-v6) 15 (v1-v3-v6-v4) 19 (v1-v2) 20 (v1-v3-v6-v5) 256.画出题图5-5所示的AOV网所有可能的拓扑有序序列。
并指出应用拓扑排序算法求得的是那一个序列(若选用邻接表作存储结构)?解:(1)所有可能的拓扑有序序列:v1,v4,v2,v5,v3 ,v6v1,v4,v2,v3,v5, v6v1,v4,v5,v2,v3, v6v4,v1,v2,v5,v3, v6v4,v1,v2,v3,v5, v6v4,v1,v5,v2,v3, v6v4,v5,v1,v2,v3, v6(2)根据邻接表,应用拓扑排序算法求得的序列是:v4,v5,v1,v2,v3 v6。
数据结构第五章考试题库(含答案)
第 5 章数组和广义表一、选择题为第一元素,其存储地址为1,1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11的地址为()。
【燕山大学 2001 一、2 (2分)】每个元素占一个地址空间,则a85A. 13B. 33C. 18D. 402. 有一个二维数组A[1:6,0:7] 每个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组的体积是(①)个字节。
假设存储数组元素A[1,0]的第一个字节的地址是0,则存储数组A的最后一个元素的第一个字节的地址是(②)。
若按行存储,则A[2,4]的第一个字节的地址是(③)。
若按列存储,则A[5,7]的第一个字节的地址是(④)。
就一般情况而言,当(⑤)时,按行存储的A[I,J]地址与按列存储的A[J,I]地址相等。
供选择的答案:【上海海运学院 1998 二、2 (5分)】①-④: A.12 B. 66 C. 72 D. 96 E. 114 F. 120G. 156 H. 234 I. 276 J. 282 K. 283 L. 288⑤: A.行与列的上界相同 B. 行与列的下界相同C. 行与列的上、下界都相同D. 行的元素个数与列的元素个数相同3. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。
A. BA+141B. BA+180C. BA+222D. BA+225【南京理工大学 1997 一、8 (2分)】4. 假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=()。
【福州大学 1998 一、10 (2分)】A. 808B. 818C. 1010D. 10205. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是( )。
数据结构-第二版--课后答案-(陈雁-著)-高等教育出版社
8
void Insertx_Linkst (LNode *H, Elemtp a, Elemtp b)
{
s=(LNode *) malloc (sizeof(LNode));
s->data=b;
s->next=NULL;
if(H==NULL)
{
H=s;
}
else
{
p=H;
q=p->next;
if(p->data==a)/*对首元节点处理*/
if(p->next->data<x)
p=p->next;
else
{
s->next=p->next;
p->next=s; /*插入*/
return 1;
}/* Insert_Linkst*/
p->next=s;
return 1;
}
6
顺序表:
void inverse_Sq( SqList *L)
{
int i;
}
else
p=p->right;
}
return 0;/*未找到*/
}
else
return -1;/*行号错误*/
}
(2)
int findmat(CrossList *M,int x,int *rown,int *coln)
{
for(int i=1;i<=M->mu;i++)
{
p=M->rhead[i];
L->elem[i]=x; /*插入x */
++L->len; /*表长加1 */
数据结构第5章作业参考答案
第5章树和二叉树一、单项选择题1.以下说法错误的是(B )。
A. 存在这样的二叉树,对其采用任何次序的遍历其结点访问序列均相同B. 二叉树是树的特殊情形C. 满二叉树中所有叶结点都在同一层上D. 在二叉树只有一棵子树的情况下,也要指出是左子树还是右子树2.树最适合用来表示( C)。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据3.下列叙述正确的是(C )。
A. 二叉树是度为2的有序树B. 完全二叉树一定存在度为1的结点C. 深度为k的二叉树中结点总数≤2k-1D. 对于有n个结点的二叉树,其高度为⎣log2n⎦+14.按照二叉树的定义,具有三个节点的二叉树有( C )种。
A.3B.4C.5D.65.下列叙述中正确的是(C )。
A. 二叉树是度为2的有序树B. 二叉树中的结点只有一个孩子时无左右之分C. 二叉树中每个结点最多只有两棵子树,并且有左右之分D. 二叉树若存在两个结点,则必有一个为根,另一个为左孩子6.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是( C )。
A.N0=N1+1 B.N=Nl+N2C.N=N2+1 D.N=2N1+17.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为( B )。
A. 2i+1B.2iC.i/2D.2i-18.有100个结点的完全二叉树由根开始从上到下从左到右对结点进行编号,根结点的编号为1,编号为46的结点的右孩子的编号为( C )A.50 B.92 C.93 D.869.若一棵有n个结点的树,则该树中的度之和为(C )。
A. n+1B. nC. n-1D. 不确定10.已知完全二叉树有90个结点,则整个二叉树有( B )个度为1的结点。
A 0B 1C 2D 不确定11.一棵完全二叉树上有1001个结点,其中叶子结点的个数是(C )。
《数据结构》第五章习题参考答案
《数据结构》第五章习题参考答案一、判断题(在正确说法的题后括号中打“√”,错误说法的题后括号中打“×”)1、知道一颗树的先序序列和后序序列可唯一确定这颗树。
( ×)2、二叉树的左右子树可任意交换。
(×)3、任何一颗二叉树的叶子节点在先序、中序和后序遍历序列中的相对次序不发生改变。
(√)4、哈夫曼树是带权路径最短的树,路径上权值较大的结点离根较近。
(√)5、用一维数组存储二叉树时,总是以前序遍历顺序存储结点。
( ×)6、完全二叉树中,若一个结点没有左孩子,则它必是叶子结点。
( √)7、一棵树中的叶子数一定等于与其对应的二叉树的叶子数。
(×)8、度为2的树就是二叉树。
(×)二、单项选择题1.具有10个叶结点的二叉树中有( B )个度为2的结点。
A.8 B.9 C.10 D.112.树的后根遍历序列等同于该树对应的二叉树的( B )。
A. 先序序列B. 中序序列C. 后序序列3、二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG 。
该二叉树根的右子树的根是:( C )A. EB. FC. GD. H04、在下述结论中,正确的是( D )。
①具有n个结点的完全二叉树的深度k必为┌log2(n+1)┐;②二叉树的度为2;③二叉树的左右子树可任意交换;④一棵深度为k(k≥1)且有2k-1个结点的二叉树称为满二叉树。
A.①②③B.②③④C.①②④D.①④5、某二叉树的后序遍历序列与先序遍历序列正好相反,则该二叉树一定是( D )。
A.空或只有一个结点B.完全二叉树C.二叉排序树D.高度等于其结点数三、填空题1、对于一棵具有n个结点的二叉树,对应二叉链接表中指针总数为__2n____个,其中___n-1_____个用于指向孩子结点,___n+1___个指针空闲着。
2、一棵深度为k(k≥1)的满二叉树有_____2k-1______个叶子结点。
数据结构作业系统_第五章答案
数据结构作业系统_第五章答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--④假设稀疏矩阵A和B均以三元组表作为存储结构。
试写出矩阵相加的算法,另设三元组表C存放结果矩阵。
要求实现以下函数:Status AddTSM(TSMatrix A,TSMatrix B,TSMatrix &C); /* 三元组表示的稀疏矩阵加法: C=A+B */稀疏矩阵的三元组顺序表类型TSMatrix的定义:#define MAXSIZE 20 ==[n].i&&[k].j==[n].j){ce=[k].e+[n].e;if(ce){[p].i=[k].i;[p].j=[k].j;[p].e=ce;p++;;}k++;n++;}else if[k].i<[n].i||[k].i==[n].i&&[k].j<[n].j) {[p].e=[k].e;[p].i=[k].i;[p].j=[k].j;k++;p++;}else{[p].e=[n].e;[p].i=[n].i;[p].j=[n].j;n++; p++;}}if(k>while(n<={[p].e=[n].e;[p].i=[n].i;[p].j=[n].j;n++;p++;printf("%d B ",[n].e);}elsewhile(k<={[p].e=[k].e;[p].i=[k].i;[p].j=[k].j;k++;p++;printf("%d A ",[p].e);}=;=;=p-1;return TRUE;}②三元组表的一种变型是,从三元组表中去掉行下标域得到二元组表,另设一个行起始向量,其每个分量是二元组表的一个下标值,指示该行中第一个非零元素在二元组表中的起始位置。
试编写一个算法,由矩阵元素的下标值i,j求矩阵元素。
数据结构课后习题及解析第五章
第五章习题5.1 假设有6行8列的二维数组A,每个元素占用6个字节,存储器按字节编址。
已知A的基地址为1000,计算:数组A共占用多少字节;数组A的最后一个元素的地址;按行存储时元素A36的地址;按列存储时元素A36的地址;5.2 设有三对角矩阵An×n ,将其三条对角线上的元素逐行地存于数组B(1:3n-2)中,使得B[k]= aij,求:(1)用i,j表示k的下标变换公式;(2)用k表示i,j的下标变换公式。
5.3假设稀疏矩阵A和B均以三元组表作为存储结构。
试写出矩阵相加的算法,另设三元组表C存放结果矩阵。
5.4在稀疏矩阵的快速转置算法5.2中,将计算position[col]的方法稍加改动,使算法只占用一个辅助向量空间。
5.5写一个在十字链表中删除非零元素aij的算法。
5.6画出下面广义表的两种存储结构图示:((((a), b)), ((( ), d), (e, f)))5.7求下列广义表运算的结果:(1)HEAD[((a,b),(c,d))];(2)TAIL[((a,b),(c,d))];(3)TAIL[HEAD[((a,b),(c,d))]];(4)HEAD[TAIL[HEAD[((a,b),(c,d))]]];(5)TAIL[HEAD[TAIL[((a,b),(c,d))]]];实习题若矩阵Am×n 中的某个元素aij是第i行中的最小值,同时又是第j列中的最大值,则称此元素为该矩阵中的一个马鞍点。
假设以二维数组存储矩阵,试编写算法求出矩阵中的所有马鞍点。
第五章答案5.2设有三对角矩阵A n×n,将其三条对角线上的元素逐行的存于数组B[1..3n-2]中,使得B[k]=a ij,求:(1)用i,j表示k的下标变换公式;(2)用k表示i、j的下标变换公式。
【解答】(1)k=2(i-1)+j(2) i=[k/3]+1, j=[k/3]+k%3 ([ ]取整,%取余)5.4在稀疏矩阵的快速转置算法5.2中,将计算position[col]的方法稍加改动,使算法只占用一个辅助向量空间。
数据结构第五章参考答案
习题51.填空题(1)已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为(___________)。
答案:129(2)3个结点可构成(___________)棵不同形态的二叉树。
答案:5(3)设树的度为5,其中度为1~5的结点数分别为6、5、4、3、2个,则该树共有(___________)个叶子。
答案:31(4)在结点个数为n(n>1)的各棵普通树中,高度最小的树的高度是(___________),它有(___________)个叶子结点,(___________)个分支结点。
高度最大的树的高度是(___________),它有(___________)个叶子结点,(___________)个分支结点。
答案:2 n-1 1 n 1 n-1(5)深度为k的二叉树,至多有(___________)个结点。
答案:2k-1(6)(7)有n个结点并且其高度为n的二叉树的数目是(___________)。
答案:2n-1(8)设只包含根结点的二叉树的高度为0,则高度为k的二叉树的最大结点数为(___________),最小结点数为(___________)。
答案:2k+1-1 k+1(9)将一棵有100个结点的完全二叉树按层编号,则编号为49的结点为X,其双亲PARENT (X)的编号为()。
答案:24(10)已知一棵完全二叉树中共有768个结点,则该树中共有(___________)个叶子结点。
答案:384(11)(12)已知一棵完全二叉树的第8层有8个结点,则其叶子结点数是(___________)。
答案:68(13)深度为8(根的层次号为1)的满二叉树有(___________)个叶子结点。
答案:128(14)一棵二叉树的前序遍历是FCABED,中序遍历是ACBFED,则后序遍历是(___________)。
答案:ABCDEF(15)某二叉树结点的中序遍历序列为ABCDEFG,后序遍历序列为BDCAFGE,则该二叉树结点的前序遍历序列为(___________),该二叉树对应的树林包括(___________)棵树。
(完整版)第五章习题答案
第五章习题5-1下面的程序运行后,(AL)=_______,CF=_______。
MOV CL, 8MOV AL, 0NOT ALROL AL, CLCMP AL, 0FFHJZ NEXTMOV AL, 0NEXT:……答:(AL)=0FFH, CF=05-2 在下面的程序段中,“DEC CX”指令执行了_______次。
MOV CX, 6JCXZ NEXTL1: DEC CXJNZ L1NEXT:……(A) 0(B) 5(C) 6(D) 7答:C5-3 设有单字节有符号数X,Y与Z,如果X+Y>200,则求X-Z,否则求X+Z,运算结果存储在SUM字单元中。
DATA SEGMENTX DB 120Y DB 100Z DB 20SUM DB 0DATA ENDSSTACK1 SEGMENT STACKDB 20H(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACK1BEGIN: MOV AX, DATAMOV DS, AXXOR AH, AHMOV AL, XXOR BH, BHMOV BL, YADD AX, BX//注意这里用的是16位的寄存器,想想原因?CMP AX, 200MOV AL, XJG SUB0;判断ADD AL, ZJMP END0SUB0:SUB AL, ZEND0:XOR AH,AHMOV SUM, AXMOV AH,4CHINT 21HCODE ENDSEND BEGIN5-4 下面的程序段执行后,BUF1的前5个字节单元内容分别是多少?DATA SEGMENTDA1DW123H, 456H, 0AB00HDA2DB12H, 34H, 56H, 0ABHDB$-DA2BUF1DB10H D UP(1,2,3)BUF2DB10H, 20H, 30HDATA ENDS……MOV SI, OFFSET DA1MOV DI, OFFSET BUF1MOV CX, 5LOP: MOV AL, [SI]MOV[DI], ALINC SIINC DILOOP LOP……答:5-5 阅读下列程序,回答下列问题:(1) 该程序完成什么功能?(2) 程序中的“INC SI”可否用指令“ADD SI, 1”代替,为什么?(3) 程序中的指令LEA SI, DATA1可用指令________代替。
数据结构与算法第5章课后答案
page: 1The Home of jetmambo - 第 5 章树和二叉树第 5 章树和二叉树(1970-01-01) -第 5 章树和二叉树课后习题讲解1. 填空题⑴树是n(n≥0)结点的有限集合,在一棵非空树中,有()个根结点,其余的结点分成m (m>0)个()的集合,每个集合都是根结点的子树。
【解答】有且仅有一个,互不相交⑵树中某结点的子树的个数称为该结点的(),子树的根结点称为该结点的(),该结点称为其子树根结点的()。
【解答】度,孩子,双亲⑶一棵二叉树的第i(i≥1)层最多有()个结点;一棵有n(n>0)个结点的满二叉树共有()个叶子结点和()个非终端结点。
【解答】2i-1,(n+1)/2,(n-1)/2【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度为1的结点,所以n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。
⑷设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是(),最小值是()。
【解答】2h -1,2h-1【分析】最小结点个数的情况是第1层有1个结点,其他层上都只有2个结点。
⑸深度为k的二叉树中,所含叶子的个数最多为()。
【解答】2k-1【分析】在满二叉树中叶子结点的个数达到最多。
⑹具有100个结点的完全二叉树的叶子结点数为()。
【解答】50【分析】100个结点的完全二叉树中最后一个结点的编号为100,其双亲即最后一个分支结点的编号为50,也就是说,从编号51开始均为叶子。
⑺已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点。
则该树中有()个叶子结点。
【解答】12【分析】根据二叉树性质3的证明过程,有n0=n2+2n3+1(n0、n2、n3分别为叶子结点、度为2的结点和度为3的结点的个数)。
⑻某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后序遍历序列是()。
数据结构1-5章习题参考答案
第1章绪论一、填空题01、【操作对象】【关系和运算】02、【数据元素】【关系】03、【逻辑结构】【存储结构】【运算】04、【线性结构】【非线性结构】05、【一对一】【一对多】【多对多】06、【没有】【没有】07、【前驱】【1】【后续】【任意多个】08、【任意多个】09、【顺序】【链式】【索引】【散列】10、【集合】【线性结构】【树形结构】【图状结构】11、【插入】【删除】【修改】【查找】【排序】12、【时间】【空间】13、【时间复杂度】【空间复杂度】14、【映射】15、【有穷性】【确定性】【可行性】16、【n+1】【n】【n(n+3)/2】【n(n+1)/2】17、【n(n+1)(n+2)/6】【O(n3)】18、【O(n2 log)】19、【O(nn2 log)】20、【O(22log n)】21、【(n+3)(n-2)/2】22、【n(n-1)/2】二、判断题01-05、×××√×06-10、×√×××11-12、√×三、单项选择题B01 BD02 A03 C04 C05A06 C07 B08 A09 C10B11 A12 C13 D14 A15C16四、分析下面各程序段的时间复杂度01、O(nm )02、O(2n)03、答:O(2n)04、答:O(n3 log)五、设有数据逻辑结构S=(D,R),试按各小题所给条件画出这些逻辑结构的图示,并确定相对于关系R,哪些结点是开始结点,哪些结点是终端结点?01、此图为线性结构d1→d2→d3→d4d1—无直接前驱,是首结点d4—无直接后继是尾结点02、此图为树形结构d1—无直接前驱,是根结点d2,d5,d7,d9—无直接后继是叶子结点03、此图为图形结构d1,d2—无直接前驱,是开始结点d6,d7—无直接后继是终端结点六、简述题01、什么是数据结构?答:数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
数据结构课后习题第五章
习题5一、选择题1.洗漱矩阵的一半压缩方法是( )。
A.二维数组 B.广义表 C.三元组表D.一维数组2. 设矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡nm n n a a a ...a ..........…1111是一个对称矩阵,为了节省空间,将其下三角部分按行有先存放在一维数组B 中。
对下三角矩阵中任一元素a ij (i ≥j ),在一维数组B 中下表k 的值是( )。
A. i(i-1)/2+j-1B. i(i-1)/2+jC.i(i+1)/2+j-1D. i(i+1/2+j3. 在稀疏矩阵的三元组表示法只能怪,每个三元组表示( )。
A. 矩阵中数据元素的行号和值 B. 矩阵中非零元素的值 C. 矩阵中非零元素的行号和值 D. 矩阵中非零元素的行号、列号和值4. 对稀疏矩阵进行压缩存储是为了( )。
A. 便于进行矩阵运算 B. 便于输入和输出 C. 节约存储空间 D.降低运算的时间复杂度5. 假设以行序列为主序存储二维数组A=array[1..100..,1..100],设每个数据元素占2B 的存储单元,基地址为10,则LOC[5,5]=( )。
A. 808 B. 818 C. 1010 D. 10206. 设有数组A[i ,j],数组的每个元素长度为3个字节,i 的值为1到8,j 的值为1到10,数组从内存首地址BA 开始顺序存放,当用以列为主序存放时,元素A[5,8]的存储首地址为( )。
A. BA+141 B. BA+180 C. BA+222 D. BA+2257. 设有一个10阶的对称矩阵A ,采用压缩存储方式,以行序为主存储。
a 11为第一元素,其存储地址为1,每个元素占一个字节地址空间,则a 85的地址为( )。
A. 13 B. 33 C. 18 D. 408.广义表是线性表的推广,他们之间的区别在于( )。
A. 能否使用子表 B. 能否使用原子项 C. 表的长度 D. 是否能为空 9. 已知广义表:L=((x ,y ,z ),a ,(u ,t ,w )),从L 中取出原子项t 的运算是( )。
数据结构5-6章测试题(带答案)
数据结构5-6章测试题(带答案)《数据结构》第2教学单元测试练习题一.选择1.将一棵有100个结点的完全二叉树从根结点这一层开始,每一层上从左到右依次对结点编号,根结点的编号为1,则编号为49的结点的左孩子编号为()根? 右孩子?A.98B.99C.50D.482.以下说法错误的是( )A.一般在赫夫曼树中,权值越大的叶子离根结点越近B.赫夫曼树中没有度数为1的分支结点C.若初始森林中共有n棵二叉树,最终求得的赫夫曼树共有2n-1个结点D.若初始森林中共有n棵二叉树,进行2n-1次合并后才能剩下一棵最终的赫夫曼树3.深度为6的二叉树最多有( )个结点A.64 B.63 C.32 D.314.以下说法正确的是( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树的度肯定等于2D.任何一棵二叉树的度可以小于25.设森林T中有4棵树,第一、二、三、四棵树的结点个数分别是n1,n2,n3,n4,那么当把森林T转换成一棵二叉树后,且根结点的右子树上有( d )个结点。
根结点的左孩子上有( a )个结点。
A.n1-1B.n1C.n1+n2+n3D.n2+n3+n46.对含有( )个结点的非空二叉树,采用任何一种遍历方式,其结点访问序列均相同。
A.0B.1C.2D.不存在这样的二叉树7.讨论树、森林和二叉树的关系,目的是为了( )A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义8.已知某二叉树的后续遍历序列是dabec,中序遍历序列是deabc,它的前序遍历序列是( )A.acbedB.deabcC.decabD.cedba9.如果T2是由有序树T转化而来的二叉树,那么T中结点的前序就是T2中结点的( a ), 后序就是T2中结点的( b ) A.前序 B.中序 C.后序 D.层次序10.深度为5的二叉树至多有( )个结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章自测练习题参考答案
1.设一个有向图G =(V,E),其中V={ v1,v2,v3,v4 },E={<v1,v4>,<v2,v1>,<v2,v3>,<v4,v1>,<v4,v2>}。
请画出该有向图,并求出每个顶点的入度与出度,画出相应的邻接矩阵、邻接表和逆邻接表。
解:
有向图:
V1入度2,出度1,
v2入度1,出度2,
v3入度1,出度0,
v4入度1,出度2
邻接阵:
邻接表:
逆邻接表:
2.分别求出题图5-1从v 2出发按深度优先搜索和广度优先搜索算法遍历得到的顶点序列(假设图的存储结构采用邻接矩阵表示)。
解 :
广度优先序列是:v2,v1,v3,v6,v4,v5 深度优先序列是:v2,v1,v3,v4,v5,v6
3.已知一个有向图的邻接表如题图5-2所示,求出根据深度优先搜索算法从顶点v 1出发遍历得到的顶点序列。
解 :
深度优先序列是:v1,v3,v4,v5,v2 广度优先序列是:v1,v3,v2,v4,v5
4.分别用普里姆和克鲁斯卡尔算法构造题图5-3所示网络的最小生成树。
解 :
普里姆算法: (v1,v3) (v3,v4)
(v4,v5)
(v4,v2) 或 (v5,v2)
克鲁斯卡尔算法: (v4,v5)
(v2,v4) 或 (v2,v5) (v1,v3) (v3,v4)
5.求出题图5-4从顶点v 1到其它各顶点之间的最短路径。
解:
(v1-v3 ) 5 (v1-v3-v6) 15 (v1-v3-v6-v4) 19 (v1-v2) 20 (v1-v3-v6-v5) 25
6.画出题图5-5所示的AOV网所有可能的拓扑有序序列。
并指出应用拓扑排序算法求得的是那一个序列(若选用邻接表作存储结构)?
解:
(1)所有可能的拓扑有序序列:
v1,v4,v2,v5,v3 ,v6
v1,v4,v2,v3,v5, v6
v1,v4,v5,v2,v3, v6
v4,v1,v2,v5,v3, v6
v4,v1,v2,v3,v5, v6
v4,v1,v5,v2,v3, v6
v4,v5,v1,v2,v3, v6
(2)根据邻接表,应用拓扑排序算法求得的序列是:v4,v5,v1,v2,v3 v6。