数据结构 -练习试题和答案_第1页
数据结构 -练习试题和答案_第2页
数据结构 -练习试题和答案_第3页
数据结构 -练习试题和答案_第4页
数据结构 -练习试题和答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...数据构造练习题习题1绪论1.1单项选择题1.数据构造是一门研究非数值计算的程序设计问题中,数据元素的①、数据信息在计算机中的②以及一组相关的运算等的课程。①A.操作对象B.计算方法C.逻辑构造D.数据映象②A.存储构造B.关系C.运算D.算法2.数据构造DS(DataStruct)可以被形式地定义为DS=〔D,R〕,其中D是①的有限集合,R是D上的②有限集合。①A.算法B.数据元素C.数据操作D.数据对象②A.操作B.映象C.存储D.关系3.在数据构造中,从逻辑上可以把数据构造分成。A.动态构造和静态构造B.紧凑构造和非紧凑构造C.线性构造和非线性构造D.内部构造和外部构造4.算法分析的目的是①,算法分析的两个主要方面是②。①A.找出数据构造的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性②A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。①A.计算方法B.排序方法C.解决问题的有限运算序列D.调度方法②A.可行性、可移植性和可扩大性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性1.2填空题〔将正确的答案填在相应的空中〕1.数据逻辑构造包括、和三种类型,树形构造和图形构造合称为。2.在线性构造中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。3.在树形构造中,树根结点没有结点,其余每个结点有且只有个直接前驱结点,叶子结点没有结点,其余每个结点的直接后续结点可以。4.在图形构造中,每个结点的前驱结点数和后续结点数可以。5.线性构造中元素之间存在关系,树形构造中元素之间存在关系,图形构造中元素之间存在关系。6.算法的五个重要特性是____,____,____,____,____。7.分析下面算法〔程序段〕,给出最大语句频度,该算法的时间复杂度是____。for(i=0;i<n;i++)for(j=0;j<n;j++)A[i][j]=0;8.分析下面算法〔程序段〕,给出最大语句频度,该算法的时间复杂度是____。for(i=0;i<n;i++)for(j=0;j<i;j++)A[i][j]=0;9.分析下面算法〔程序段〕,给出最大语句频度,该算法的时间复杂度是____。s=0;for(i=0;i<n;i++)for(j=0;j<n;j++)for(k=0;k<n;k++)s=s+B[i][j][k];sum=s;10.分析下面算法〔程序段〕给出最大语句频度,该算法的时间复杂度是____。i=s=0;while(s<n){i++;s+=i;//s=s+i}11.分析下面算法〔程序段〕给出最大语句频度,该算法的时间复杂度是____。i=1;while(i<=n)i=i*2;1.3算法设计题试写一算法,自大到小依次输出顺序读入的三个数X,Y和Z的值.试写一算法,求出n个数据中的最大值。写出最大语句频度,该算法的时间复杂度。习题答案1.11.C,A2.B,D3.C4.C,A5.C,B1.21.线性构造、树形构造、图形构造,非线性构造2.没有、1、没有、13.前驱、1、后续、任意多个4.任意多个5.一对一、一对多、多对多6.有穷性、确定性、可行性、输入、输出7.最大语句频度:n2,时间复杂度:.O(n2)8.最大语句频度:n(n+1)/2,时间复杂度:.O(n2)9.最大语句频度:n3,时间复杂度:.O(n3)10.最大语句频度:n,时间复杂度:.O(n)11.最大语句频度:log2n,时间复杂度:.O(log2n)习题2线性表2.1单项选择题1.一个向量〔即一批地址连续的存储单元〕第一个元素的存储地址是100,每个元素的长度为2,那么第5个元素的地址是____。A.110B.108C.100D.1202.线性表的顺序存储构造是一种___的存储构造,而链式存储构造是一种___的存储构造。A.随机存取B.索引存取C.顺序存取D.散列存取3.线性表的逻辑顺序与存储顺序总是一致的,这种说法___。A.正确B.不正确4.线性表假设采用链式存储构造时,要求内存中可用存储单元的地址___。A.必须是连续的B.局部地址必须是连续的C.一定是不连续的D.连续或不连续都可以5.在以下的表达中,正确的选项是___。线性表的顺序存储构造优于链表存储构造线性表的顺序存储构造适用于频繁插入/删除数据元素的情况线性表的链表存储构造适用于频繁插入/删除数据元素的情况线性表的链表存储构造优于顺序存储构造6.每种数据构造都具备三个基本运算:插入、删除和查找,这种说法___。A.正确B.不正确7.不带头结点的单链表head为空的判定条件是____。A.head==NULLB.head->next==NULLC.head->next==headD.head!=NULL8.带头结点的单链表head为空的判定条件是____。A.head==NULLB.head->next==NULLC.head->next==headD.head!=NULL9.非空的循环单链表head的尾结点〔由p所指向〕满足____。A.p->next==NULLB.p==NULLC.p->next==headD.p==head10.在双向循环链表的p所指结点之后插入s所指结点的操作是____。A.p->right=s;s->left=p;p->right->left=s;s->right=p->right;B.p->right=s;p->right->left=s;s->left=p;s->right=p->right;C.s->left=p;s->right=p->right;p->right=s;p->right->left=s;D.s->left=p;s->right=p->right;p->right->left=s;p->right=s;11.在一个单链表中,q所指结点是p所指结点的前驱结点,假设在q和p之间插入s结点,那么执行____。A.s->next=p->next;p->next=s;B.p->next=s->next;s->next=p;B.q->next=s;s->next=p;C.p->next=s;s->next=q;12.在一个单链表中,假设p所指结点不是最后结点,在p之后插入s所指结点,那么执行____。A.s->next=p;p->next=s;B.s->next=p->next;p->next=s;C.s->next=p->next;p=s;C.p->next=s;s->next=p;13.在一个单链表中,假设删除p所指结点的后续结点,那么执行____。A.p->next=p->next->next;B.p=p->next;p->next=p->next->next;C.p->next=p->next;D.p=p->next->next;14.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较____个结点。A.nB.n/2C.(n-1)/2D.(n+1)/215.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是____。A.O(1)B.O(n)C.O(n2)D.O(nlog2n)16.给定有n个元素的向量,建设一个有序单链表的时间复杂度是____。A.O(1)〕B.O(n)C.O(n2)D.O(n*log2n)2.2填空题〔将正确的答案填在相应的空中〕1.单链表可以做____的链接存储表示。2.在双链表中,每个结点有两个指针域,一个指向______,另一个指向_____。3.在一个单链表中p所指结点之前插入一个s(值为e)所指结点时,可执行如下操作:q=head;while(q->next!=p)q=q->next;s=newNode;s->data=e;q->next=;//填空s->next=;//填空4.在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q=p->next;p->next=____;//填空delete;//填空5.在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=____和p->next=____的操作。6.对于一个具有n个结点的单链表,在p所指结点后插入一个新结点的时间复杂度是____;在给定值为x的结点后插入一个新结点的时间复杂度是____。2.3算法设计题:1.设顺序表va中的数据元数递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。StatusInsert_SqList(SqList&va,intx){if(va.length+1>maxsize)returnERROR;va.length++;for(i=va.length-1;va.elem[i]>x&&i>=0;i--)va.elem[i+1]=va.elem[i];va.elem[i+1]=x;returnOK;}2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表〔a1,a2,….an〕逆置为(an,an-1,….,a1)。voidreverse(inta[],intsize){inti,j,tmp;for(i=0,j=size-1;i<j;i++,j--){tmp=a[i];a[i]=a[j];a[j]=tmp;}}3.线性表中的元素以值递增有序排列,并以单链表作存储构造。试写一算法,删除表中所有大于x且小于y的元素〔假设表中存在这样的元素〕同时释放被删除结点空间。voiddel(LinkListL,elemtypea,elemtypeb)

{

p=L;q=p->next;while(q!=L&&q->data<a)

{

p=q;

q=q->next;

}

while(q!=L&&q->data<b)

{

r=q;

q=q->next;

free(r);

}

if(p!=q)

p->next=q;

}4.试写一算法,实现单链表的就地逆置(要求在原链表上进展)。voidconverse(NODEPTRL)

{

NODEPTRp,q;

p=L->next;q=p->next;

L->next=NULL;

while(p)

/*对于当前结点p,用头插法将结点p插入到头结点之后*/

{

p->next=L->next;

L->next=p;

p=q;

q=q->next;

}

}习题答案2.11.B2.A,C3.B4.D5.C6.A7.A8.B9.C10.D11.B12.B13.A14.D15.B16.C2.21.线性结表2.前驱结点、后继结点3.s,p4.q->next,q5.p->next,s6.O(1),O(n)习题3栈和队列3.1单项选择题1.一个栈的入栈序列a,b,c,d,e,那么栈的不可能的输出序列是____。A.edcbaB.decbaC.dceabD.abcde2.假设一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,假设p1=n,那么pi为____。A.iB.n=iC.n-i+1D.不确定3.栈构造通常采用的两种存储构造是____。A.顺序存储构造和链式存储构造散列方式和索引方式链表存储构造和数组线性存储构造和非线性存储构造4.判定一个顺序栈ST〔最多元素为m0〕为空的条件是____。A.top!=0B.top==0C.top!=m0D.top==5.判定一个顺序栈ST〔最多元素为m0〕为栈满的条件是____。A.top!=0B.top==0C.top!=6.栈的特点是____,队列的特点是____。A.先进先出B.先进后出7.向一个栈顶指针为HS的链栈中插入一个s所指结点时,那么执行____。(不带空的头结点)HS—>next=s;B.s—>next=HS—>next;HS—>next=s;C.s—>next=HS;HS=s;D.s—>next=HS;HS=HS—>next;8.从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,那么执行____。(不带空的头结点)A.x=HS;HS=HS—>next;B.x=HS—>data;C.HS=HS—>next;x=HS—>data;D.x=HS—>data;HS=HS—>next;9.一个队列的数据入列序列是1,2,3,4,那么队列的出队时输出序列是____。A.4,3,2,1B.1,2,3,4C.1,4,3,2D.3,2,4,110.判定一个循环队列QU〔最多元素为m0〕为空的条件是____。A.rear-front==m0B.rear-front-1==m0C.front==rearD.front==rear+111.判定一个循环队列QU〔最多元素为m0,m0==Maxsize-1〕为满队列的条件是____。A.((rear-front)+Maxsize)%Maxsize==m0B.rear-front-1==m0C.front==rearD.front==rear+112.循环队列用数组A[0,m-1]存放其元素值,其头尾指针分别是front和rear,那么当前队列中的元素个数是____。A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front13.栈和队列的共同点是____。A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点3.2填空题〔将正确的答案填在相应的空中〕1.向量、栈和队列都是____构造,可以在向量的____位置插入和删除元素;对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素。2.向一个长度为n的向量的第i个元素〔1≤i≤n+1〕之前插入一个元素时,需向后移动____个元素。3.向一个长度为n的向量中删除第i个元素〔1≤i≤n〕时,需向前移动____个元素。4.在具有n个单元的循环队列中,队满时共有____个元素。习题答案3.11.C2.C3.A4.B5.D6.BA7.C8.B9.C10.C11.A12.A13.C3.21.线性、任何、栈顶、队尾、队首2.n-i+13.n-i4.n-1习题6树和二叉树6.1单项选择题1.由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法____。A.正确B.错误2.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,那么叶子结点数为个。A.15 B.16 C.17 D.473.按照二叉树的定义,具有3个结点的不同形状的二叉树有____种。A.3B.4C.5D.64.按照二叉树的定义,具有3个不同数据结点的不同的二叉树有____种。A.5B.6C.30D.325.深度为5的二叉树至多有____个结点。A.16B.32C.31D.106.设高度为h的二叉树上只有度为0和度为2的结点,那么此类二叉树中所包含的结点数至少为____。 A.2hB.2h-1C.2h+1D.h+17.对一个满二叉树,m个树叶,n个结点,深度为h,那么____。A.n=h+mB.h+m=2nC.m=h-1D.n=2h-18.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序____。A.不发生改变B.发生改变C.不能确定D.以上都不对9.如果某二叉树的前根次序遍历结果为stuwv,中序遍历为uwtvs,那么该二叉树的后序为____。A.uwvtsB.vwutsC.wuvtsD.wutsv10.二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法____。A.正确B.错误11.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,那么其后序遍历的结点访问顺序是____。A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca12.在一非空二叉树的中序遍历序列中,根结点的右边____。A.只有右子树上的所有结点B.只有右子树上的局部结点C.只有左子树上的局部结点D.只有左子树上的所有结点13.如图6.1所示二叉树的中序遍历序列是____。A.abcdgefB.dfebagcC.dbaefcgD.defbagcggcefdbaaagedbchf图6.2图6.1a14.一棵二叉树如图6.2所示,其中序遍历的序列为____。aA.abdgcefhB.dgbaechfC.gdbehfcaD.abcdefgha15.设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是。aA.a在b的右方 B.a在b的左方C.a是b的祖先 D.a是b的子孙16.某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是____。A.acbedB.decabC.deabcD.cedba17.实现任意二叉树的后序遍历的非递归算法而不使用栈构造,最正确方案是二叉树采用____存储构造。A.二叉链表B.广义表存储构造C.三叉链表D.顺序存储构造18.如图6.3所示的4棵二叉树,____不是完全二叉树。(A)(B)(C)(D)(A)(B)(C)(D)图6.320.在线索化二叉树中,t所指结点没有左子树的充要条件是____。A.t—>left=NULLB.t—>ltag=1C.t—>ltag=1且t—>left=NULLD.以上都不对21.二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说法____。A.正确B.错误22.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。这种说法____。A.正确B.错误23.具有五层结点的二叉平衡树至少有____个结点。A.10B.12C.15D.1724.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵数对应的二叉树。结论____是正确的。A.树的先根遍历序列与其对应的二叉树的先序遍历序列一样B.树的后根遍历序列与其对应的二叉树的后序遍历序列一样C.树的先根遍历序列与其对应的二叉树的中序遍历序列一样D.以上都不对25.树最适合用来表示____。A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.2填空题〔将正确的答案填在相应的空中〕1.有一棵树如图6.5所示,答复下面的问题:k111k111kkkkkk2143567⑵这棵树的叶子结点是____;⑶结点k3的度是____;图6.5一棵树⑷这棵树的度是____;图6.5一棵树⑸这棵树的深度是____;⑹结点k3的子女是____;⑺结点k3的父结点是__2.指出树和二叉树的三个主要差异____、____、____。__;3.从概念上讲,树与二叉树是两种不同的数据构造,将树转化为二叉树的基本目的是____。12345678123456789101112131415161718192021eafdgcjlhb图6.6一棵二叉树的顺序存储数组t5.深度为k的完全二叉树至少有____个结点。至多有____个结点,假设按自上而下,从左到右次序给结点编号〔从1开场〕,那么编号最小的叶子结点的编号是____。6.在一棵二叉树中,度为零的结点的个数为n0,度为2的结点的个数为n2,那么有n0=____。7.一棵二叉树的第i〔i≥1〕层最多有____个结点;一棵有n〔n>0〕个结点的满二叉树共有____个叶子和____个非终端结点。8.结点最少的树为____,结点最少的二叉树为____。9.现有按中序遍历二叉树的结果为abc,问有____种不同形态的二叉树可以得到这一遍历结果,这些二叉树分别是____。10.由如图6.7所示的二叉树,答复以下问题:iae iae d bchHf图6.7一棵二叉树i⑵其前序遍历序列为____;⑶其后序遍历序列为____;6.3简答题1.根据二叉树的定义,具有三个结点的二叉树有5种不同的形态,请将它们分别画出。2.假设一棵二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。gcgcefdba图6.8一棵树3.由如图6.7所示的二叉树,答复以下问题:〔1〕画出该二叉树的中序线索二叉树;〔2〕画出该二叉树的后序线索二叉树;〔3〕画出该二叉树对应的森林。4.一棵树如图6.8所示,转化为一棵二叉树,表示为____。5.以数据集{4,5,6,7,10,12,18}为结点权值,画出构造Huffman树的每一步图示,计算其带权路径长度为。6.一棵含有N个结点的k叉树,可能到达的最大深度和最小深度各为多少?7.证明:一棵满k叉树上的叶子结点数n和非叶子结点数n之间满足以下关系:n=(k-1)n+16.4算法设计题1.编写按层次顺序〔同一层自左至右〕遍历二叉树的算法。2.试编写算法,对一棵二叉树,统计叶子的个数。3.试编写算法,对一棵二叉树根结点不变,将左、右子树进展交换,树中每个结点的左、右子树进展交换。7.假设用于通讯的电文仅有八个字母(a,b,c,d,e,f,g,h)组成,字母在电文中出现的频率分别为0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。试为这八个字母设计哈夫曼编码。使用0-7的二进制表示形式是另一种编码方案。对于上述实例,比较两种方案的优缺点。8.试编写算法,对一棵以孩子-兄弟链表表示的树统计叶子的个数。假设一棵二叉树的先序序列为EBADCFHGIKJ和中序序列为ABCDEFGHIJK。请画出该树。习题答案6.11.B2.B3.C4.C5.C6.A7.D8.A9.C10.A11.D2.A13.B14.B15.B16.D17.C18.C19.B20.B21.B22.B23.B24.A25.C6.21.⑴k1⑵k2,k5,k7,k4⑶2⑷3⑸4⑹k5,k6⑺k1eaEfjcdeaEfjcdlghb图6.9树中结点的最大度数没有限制,而二叉树结点的最大度数为2;树的结点无左、右之分,而二叉树的结点有左、右之分;3.树可采用孩子-兄弟链表〔二叉链表〕做存储构造,目的并利用二叉树的已有算法解决树的有关问题。4.如图6.9所示5.2k-1、2k-1、2k-2+16.n2+17.2i-12[log2n+1]-12[log2n+1]–18.只有一个结点的树;空的二叉树9.5;如图6.10所示a图6.10树形5种aaaaa图6.10树形5种aaaacccccbbbbbb6.31.5种,图6.11EBEFEBEFAECDKGHIJ图6.12图6.11树形5种3.中序线索二叉树如图6.13〔左〕所示;后序线索二叉树如图6.13〔右〕所示;该二叉树转换后的的森林如图6.14所示。图6.13图6.13aa11dhjbkc图6.14对应的森林iefababcedig图6.15一棵树的孩子兄弟表示5.画出构造Huffman树如图6.16所示,计算其带权路径长度为。6.一棵含有N个结点的k叉树,可能到达的最大深度h=N-k+1,最小深度各为:logkN+1。62623725191813121096745图6.16Huffman树习题7图7.1单项选择题1.在一个图中,所有顶点的度数之和等于所有边数的____倍。A.1/2B.1C.2D.42.任何一个无向连通图的最小生成树。A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在3.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的____倍。A.1/2B.1C.2D.44.一个有n个顶点的无向图最多有____条边。A.nB.n(n-1)C.n(n-1)/2D.2n5.具有4个顶点的无向完全图有____条边。A.6B.12C.16D.206.具有6个顶点的无向图至少应有____条边才能确保是一个连通图。A.5B.6C.7D.87.在一个具有n个顶点的无向图中,要连通全部顶点至少需要____条边。A.nB.n+1C.n-1D.n/28.对于一个具有n个顶点的无向图,假设采用邻接矩阵表示,那么该矩阵的大小是____。A.nB.(n-1)2C.n-1D.n9.对于一个具有n个顶点和e条边的无向图,假设采用邻接表表示,那么表头向量的大小为_①___;所有邻接表中的接点总数是_②___。①A.nB.n+1C.n-1D.n+e②A.e/2B.eC.2eD.n+e10.一个图如图7.1所示,假设从顶点a出发按深度搜索法进展遍历,那么可能得到的一种顶点序列为__①__;按宽度搜索法进展遍历,那么可能得到的一种顶点序列为__②__。①A.a,b,e,c,d,fB.e,c,f,e,b,dC.a,e,b,c,f,dD.a,e,d,f,c,bbaebaecdf图7.1一个无向图图7.1一个无向图11.一有向图的邻接表存储构造如图7.2所示。112345324524^^^^^图7.2一个有向图的邻接表存储构造图7.2一个有向图的邻接表存储构造⑴根据有向图的深度优先遍历算法,从顶点v1出发,所得到的顶点序列是____。A.v1,v2,v3,v5,v4B.v1,v2,v3,v4,v5C.v1,v3,v4,v5,v2D.v1,v4,v3,v5,v2⑵根据有向图的宽度优先遍历算法,从顶点v1出发,所得到的顶点序列是____。A.v1,v2,v3,v4,v5B.v1,v3,v2,v4,v5C.v1,v2,v3,v5,v4D.v1,v4,v3,v5,v212.采用邻接表存储的图的深度优先遍历算法类似于二叉树的____。A.先序遍历B.中序遍历C.后序遍历D.按层遍历13.采用邻接表存储的图的宽度优先遍历算法类似于二叉树的____。A.先序遍历B.中序遍历C.后序遍历D.按层遍历14.判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用____。A.求关键路径的方法B.求最短路径的Dijkstra方法C.宽度优先遍历算法D.深度优先遍历算法15.关键路径是事件结点网络中。A.从源点到汇点的最长路径B.从源点到汇点的最短路径C.最长的回路D.最短的回路16.下面不正确的说法是。〔1〕在AOE网中,减小一个关键活动上的权值后,整个工期也就相应减小;〔2〕AOE网工程工期为关键活动上的权之和;〔3〕在关键路径上的活动都是关键活动,而关键活动也必在关键路径上。A.〔1〕 B.〔2〕 C.〔3〕 D.〔1〕、〔2〕17.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印出相应的顶点,那么输出的顶点序列是。A.逆拓朴有序的 B.拓朴有序的 C.无序的18.在图7.3所示的拓朴排列的结果序列为。A.125634 B.516234 C.123456 D.521634图7.3有向图图7.3有向图19.一个有n个顶点的无向连通图,它所包含的连通分量个数为。A.0 B.1 C.n D.n+120.对于一个有向图,假设一个顶点的入度为k1,、出度为k2,那么对应邻接表中该顶点单链表中的结点数为。A.k1 B.k2 C.k1-k2 D.k1+k221.对于一个有向图,假设一个顶点的入度为k1,、出度为k2,那么对应逆邻接表中该顶点单链表中的结点数为。A.k1 B.k2 C.k1-k2 D.k1+k27.2填空题〔将正确的答案填在相应饿空中〕1.n个顶点的连通图至少____条边。2.在无权图G的邻接矩阵A中,假设(vi,vj)或<vi,vj>属于图G的边集合,那么对应元素A[i][j]等于____,否那么等于____。3.在无向图G的邻接矩阵A中,假设A[i][j]等于1,那么A[j][i]等于____。4.图G的邻接表如图7.4所示,其从顶点v1出发的深度有限搜索序列为____,其从顶点v1出发的宽度优先搜索序列为____。v1v1v3v2v4v5v6v2v5v4v3v5^^v6v4v6v3图7.4图G的邻接表5.一个有向图的邻接矩阵表示,计算第i个结点的入度的方法是____。6.一个图的邻接矩阵表示,删除所有从第i个结点出发的边的方法是____。7.如果含n个顶点的图形成一个环,那么它有棵生成树。8.一个非连通无向图,共有28条边,那么该图至少有个顶点。9.遍历图的过程实质上是。BFS遍历图的时间复杂度为,DFS遍历图的时间复杂度为,两者不同之处在于,反映在数据构造上的差异是。10.一个图的表示法是唯一的,而表示法是不唯一的。11.有向图中的结点前驱后继关系的特征是。12.假设无向图G的顶点度数最小值大于等于时,G至少有一条回路。13.根据图的存储构造进展某种次序的遍历,得到的顶点序列是的。7.3综合题15156243〔1〕每个顶点的入/出度;〔2〕邻接距阵;〔3〕邻接表;〔4〕逆邻接表;〔5〕强连通分量。图7。5一个有向图图7。5一个有向图babadcef16111515151613141221〔1〕图7.661261213212495201516106154372图7.73.试列出图7.8中全部的拓扑排序序列。1123456图7.84.请用图示说明图7.9从顶点a到其余各顶点之间的最短路径。5543223356abdfce图7.95.AOE网有9个结点:V1,V2,V3,V4,V5,V6,V7,V8,V9,其邻接矩阵如下:(1)请画出该AOE图。(2)计算完成整个方案需要的时间。(3)求出该AOE网的关键路径。∝645∝∝∝∝∝∝∝∝∝1∝∝∝∝∝∝∝∝1∝∝∝∝∝∝∝∝∝2∝∝∝∝∝∝∝∝∝97∝∝∝∝∝∝∝∝4∝∝∝∝∝∝∝∝∝2∝∝∝∝∝∝∝∝4∝∝∝∝∝∝∝∝∝习题答案7.1 1.C 2.B 3.B 4.C 5.A 6.A 7.C8.D 9.AC 10.DB 11.CB 12.A 13.D 14.D 15.A 16.A 17.A 18.B 19.B 20.B 21.A7.21.n-12.1;03.14.v1,v2,v3,v6,v5,v4;v1,v2,v5,v4,v3,v65.求矩阵第i列非零元素之和6.将矩阵第i行全部置为零7.n8.99.对每个顶点查找其邻接点的过程;O〔e〕〔e为图中的边数〕;O〔e〕;遍历图的顺序不同;DFS采用栈存储访问过的结点,BFS采用队列存储访问过的结点。10.邻接矩阵邻接表11.一个结点可能有假设干个前驱,也可能有假设干个后继12.213.唯babadce1115131412f6612495106154372〔2〕3.152364152634156234561234516234512634512364W=3W=7W=3W=7W=9W=6W=543233abdfce5.(1)该AOE图为:(2)完成整个方案需要18天。(3)关键路径为:〔V1,V2,V5,V7,V9〕和〔V1,V2,V5,V8,V9,〕习题8查找8.1单项选择题1.顺序查找法适合于存储构造为____的线性表。A.散列存储B.顺序存储或链接存储C.压缩存储D.索引存储2.对线性表进展二分查找时,要求线性表必须____。A.以顺序方式存储B.以链接方式存储C.以顺序方式存储,且结点按关键字有序排序D.以链接方式存储,且结点按关键字有序排序3.采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为____.A.nB.n/2C.(n+1)/2D.(n-1)/24.采用二分查找方法查找长度为n的线性表时,每个元素的平均查找长度为____。A.O〔n2〕B.O(nlog2n)C.O(n)D.O(log2n)5.二分查找和二叉排序树的时间性能____。A.一样B.不一样6.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值82为的结点时,____次比较后查找成功。A.1B.2C.4D.87.设哈希表长m=14,哈希函数H(key)=key%11。表中已有4个结点:addr(15)=4;addr(38)=5;addr(61)=6;addr(84)=7如用二次探测再散列处理冲突,关键字为49的结点的地址是____。A.8B.3C.5D.98.有一个长度为12的有序表,按二分查找法对该表进展查找,在表内各元素等概率情况下查找成功所需的平均比较次数为____。A.35/12B.37/12C.39/12D.43/129.对于静态表的顺序查找法,假设在表头设置岗哨,那么正确的查找方式为。A.从第0个元素往后查找该数据元素B.从第1个元素往后查找该数据元素C.从第n个元素往开场前查找该数据元素D.与查找顺序无关10.解决散列法中出现的冲突问题常采用的方法是。A.数字分析法、除余法、平方取中法B.数字分析法、除余法、线性探测法C.数字分析法、线性探测法、多重散列法D.线性探测法、多重散列法、链地址法11.采用线性探测法解决冲突问题,所产生的一系列后继散列地址。A.必须大于等于原散列地址B.必须小于等于原散列地址C.可以大于或小于但不能等于原散列地址D.地址大小没有具体限制12.对于查找表的查找过程中,假设被查找的数据元素不存在,那么把该数据元素插入到集合中。这种方式主要适合于。A.静态查找表 B.动态查找表 C.静态查找表与动态查找表 D两种表都不适合13.散列表的平均查找长度。A.与处理冲突方法有关而与表的长度无关B.与处理冲突方法无关而与表的长度有关C.与处理冲突方法有关而与表的长度有关D.与处理冲突方法无关而与表的长度无关8.2填空题〔将正确的答案填在相应的空中〕1.顺序查找法的平均查找长度为____;折半查找法的平均查找长度为____;哈希表查找法采用链接法处理冲突时的平均查找长度为____。2.在各种查找方法中,平均查找长度与结点个数n无关的查找方法是____。3.折半查找的存储构造仅限于____,且是____。4.假设在有序线性表A[1..20]上进展折半查找,那么比较一次查找成功的结点数为____,那么比较二次查找成功的结点数为____,那么比较三次查找成功的结点数为____,那么比较四次查找成功的结点数为____,那么比较五次查找成功的结点数为____,平均查找长度为____。5.对于长度为n的线性表,假设进展顺序查找,那么时间复杂度为____;假设采用折半法查找,那么时间复杂度为____;6.有序表为〔12,18,24,35,47,50,62,83,90,115,134〕,当用折半查找90时,需进展次查找可确定成功;查找47时,需进展次查找成功;查找100时,需进展次查找才能确定不成功。7.二叉排序树的查找长度不仅与有关,也与二叉排序树的有关。8.一个无序序列可以通过构造一棵树而变成一个有序树,构造树的过程即为对无序序列进展排序的过程。9.平衡二叉排序树上任一结点的平衡因子只可能是、或。10.法构造的哈希函数肯定不会发生冲突。11.在散列函数H(key)=key%p中,p应取____。12.在散列存储中,装填因子的值越大,那么____;的值越小,那么____。8.3综合练习题:1.画出对长度为10的有序表进展折半查找的判定树,并求其等概率时查找成功的平均查找长度。4.选取哈稀函数H〔k〕=〔3k〕MOD11。用开放定址法处理冲突,di=i〔〔7k〕MOD10+1〕〔I=1,2,3,…〕.试在0-10的散列地址空间中对关键字序列〔22,41,53,46,30,13,01,67〕造哈希表,并求等概率情况下查找成功时的平均查找长度。5.一组关键字{49,38,65,97,76,13,27,44,82,35,50},画出由此生成的二叉排序树,注意边插入边平衡。习题答案8.11.B2.C3.C4.D5.B6.C7.D8.B9.C10.D11.C12.B13.C8.21.〔n+1〕/2、((n+1)*log2(n+1))/n-1、1+〔为装填因子〕2.哈希表查找法3.顺序存储构造、有序的4.1、2、4、8、5、3.7〔依题意,构造一棵有序二叉树,共12个结点,第一层1个结点,第二层2个结点,第三层4个结点,第四层5个结点,那么:ASL=〔1*1+2*2+3*4+4*5〕/12=37/12〕5.O〔n〕、O(log2n)6.2、4、37.结点个数n、生成过程8.二叉排序树9.0、1、-110.直接定址11.素数12.存取元素时发生冲突的可能性就越大、存取元素时发生冲突的可能性就越小习题9排序9.1单项选择题1.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是____。A.希尔排序B.起泡排序C.插入排序D.选择排序2.设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用____排序法。A.起泡排序B.快速排序C.堆排序D.基数排序3.在待排序的元素序列基本有序的前提下,效率最高的排序方法是____。A.插入排序B.选择排序C.快速排序D.归并排序4.一组记录的排序码为〔46,79,56,38,40,84〕,那么利用堆排序的方法建设的初始堆为____。A.79,46,56,38,40,80B.38,46,56,79,40,84,C.84,79,56,46,40,38D.84,56,79,40,46,385.一组记录的关键码为〔46,79,56,38,40,84〕,那么利用快速排序的方法,以第一个记录为基准得到的一次划分结果为____。A.38,40,46,56,79,84B.40,38,46,79,56,84C.40,38,46,56,79,84D.40,38,46,84,56,796.一组记录的排序码为〔25,48,16,35,79,82,23,40,36,72〕,其中含有5个长度为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论