ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:505.77KB ,
资源ID:10963233      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10963233.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(浙大远程 计算机 数据结构与算法作业答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

浙大远程 计算机 数据结构与算法作业答案.docx

1、浙大远程 计算机 数据结构与算法作业答案数据结构与算法作业参考答案说明:1、 题号形式: 每题都以【sn,cha,sec】开头,sn表明本题的题目序号,每道题都有唯一的序号;cha表示内容所在的章;sec表示内容所在的节。如: 【17,2,1】表示序号17的题来自第2章第1节。2、题型:1) 填空题:序号1-80题2) 分析计算作图题:序号1-55题(选自数据结构题集严蔚敏等编)3、内容取舍:根据本学期上课课件中的内容,未上课章节的练习可舍弃。4、必做题或选做题:第四章和第五章不考,所以可以选做1)填空题:序号1-80【1,1,2】线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多

2、关系,图形结构中元素之间存在多对多关系。【2,1,2】为了最快地存取数据元素,物理结构宜采用 顺序存储 结构。【3,1,2】数据结构的三要素是 逻辑结构, 物理结构 , 操作 。【4,1,2】数据的逻辑结构可形式地用一个二元组B(K,R)来表示,其中K是 数据元素的有限集合_,R是 K上关系的有限集_。【5,1,2】存储结构可根据数据元素在机器中的位置是否一定连续分为 顺序存储结构_, 链式存储结构_。【6,1,4】度量算法效率可通过 时间复杂度_来进行。【7,1,4】算法的五个重要特性是确定性、可行性、有穷性、输入和输出。【8,1,4】设n为正整数,则下面程序段的时间复杂度是 O(n)_。i

3、=1;k=0;while(in)k=k+10*i;i+;【9,1,4】设n 为正整数,下面程序段中前置以记号的语句的频度是 n(n+1)/2 。 for (i=0; in; i+) for (j=0; jn; j+) if (i+j=n-1) aij=0; 【10,1,4】设n 为正整数,试确定下列各程序段中前置以记号的语句的频度: (1) i=1; k=0; while (i=n-1) i+; k+=10 * i; / 语句的频度是_n-1_。 (2) k=0; for (i=1;i=n;i+) for (j=i; jnext=L或L-prior=L 。【16,2,3】带头结点的单链表Hea

4、d为空的条件是_ Head-next=NULL _。【17,2,3】非空单循环链表L中*p是尾结点的条件是_p-next=L _。【18,2,3】在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s-next=_ p-next _;和p-next=_ s_的操作。【19,2,3】在一个单链表中的指针p所指结点之前插入一个由指针s所指结点,可执行以下操作序列:s-next= p-next;_;p-next=s;t=p-data;p-data=_ s-data;_;s-data=t;【20,2,3】在一个单链表中删除p所指结点时,应执行以下操作: q= p-next

5、; p-data= p-next-data; p-next= p-next-next _ ; free(q);【21,2,3】在单链表中,删除指针P所指结点的后继结点的语句是 P-next = P-next-next;_。【22,2,3】带头结点的单循环链表Head的判空条件是_ Head-next = Head;_; 不带头结点的单循环链表的判空条件是_ Head = NULL; _。【23,2,3】删除带头结点的单循环链表Head的第一个结点的操作是_ Head-next = Head-next-next; _;删除不带头结点的单循环链表的第一个结点的操作是_ Head = Head -n

6、ext;_。【24,2,3】已知L是带表头结点的非空单链表, 且P结点既然不首元结点,也不是尾元结点,试从下列提供的答案中选择合适的语句序列。a. 删除P结点的直接前驱结点的语句序列是_10 12 8 11 4 14 _。b. 删除结点P的语句序列是_10 12 7 3 14_。c. 删除尾元结点的语句序列是 9 11 3 14_。(1) P = P-next;(2) P-next = P;(3) P-next = P-next -next;(4) P = P-next -next;(5) while (P != NULL) P = P-next;(6) while (Q-next != NU

7、LL)P = Q; Q = Q-next;(7) while (P-next != Q) P = P-next;(8) while (P-next-next != Q) P = P-next;(9) while (P-next-next != NULL) P = P-next;(10) Q = P;(11) Q = P-next;(12) P = L;(13) L = L-next;(14) free (Q);【25,3,1】栈操作的原则是 先进后出/后进先出 。【26,3,1】对一个栈,给定输入的顺序是A、B、C,则全部不可能的输出序列有 不可能得到的输出序列有CAB 。【27,3,1】数据

8、A、B、C、D依次进栈后,再从栈中取一数据,则它是 D。则本栈得到DCBA的输出序列,其理由是 根据后进先出的原则,首先得到D,在栈内的数由底到顶依次是A、B、C,而出栈的次序刚好相反,即DCBA。 。【28,3,1】.在栈顶指针为HS的链栈中,判定栈空的条件是head-next=NULL。【29,3,1】将递归算法改写成等价的非递归算法,通常应该设置 堆栈 的数据结构【30,3,2】下列程序把十进制数转换为十六进制数,请填写合适的语句成分。(每空2分)void conversion10_16() InitStack(&s); scanf(“%d”,&N); while(N)1 _Push(s

9、, N%16)_ _ ; N = N/16; while(!StackEmpty(s)2 _Pop(s, e)_ ; if(e=9)printf(“%d”,e); else printf(“%c”,e-10+A); /* conversion */【31,3,4】若一个栈的输入序列为1,2,3,n,输出序列的第一个元素为n,则第i个输出元素是 ni1 。【32,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和front=3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是 2 和 4 。【33,3,4】已知一个栈的输入序列为1,2,3,n,输出序

10、列为a1,a2,a3,an,那么a2=n的输出序列共有 n-1 种。【34,3,4】堆栈和队列都是线性表, 堆栈是_后进先出_的线性表, 而队列是_先进先出_的线性表。【35,3,4】从循环队列中删除一个元素时,其操作是先移动队首元素,后取出元素。【36,3,4】若用一个大小为6个元素的数组来实现循环队列,且当前rear=0和front=3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是 2 和 4 。【37,3,4】下面是关于循环队列的操作,请在划线空白处填写合适语句成分。Status EnQueue(SqQueue &Q, QelemType e) if(Q.re

11、ar+1)%MAXSIZE=Q.front) ) retrun ERROR; Q.base(Q.rear) = e; Q.rear=(Q.rear+1)%MAXSIZE ; return OK; / EnQueue 【38,4,1】空串是 零个字符的串 ,其长度为 零 。【39,4,1】设串s1=”teachers and “,s2=”students”,则StrLength(s2)= 8 ;Concat(s1,s2)= ”teachers and students” 。【40,4,1】设s = I AM A TEACHER,其长度是14。【41,4,1】两个串相等的充分必要条件是两个串的长度

12、相等且对应位置的字符相同。【42,4,2】串的两种最基本的存储方式是顺序存储方式和链接存储方式。【43,4,3】令有串u=”aabcaab”和v=”abcaabcaabcaaba”,(1) 求Index(v,u,5)的值:Index(v,u,5)= 8 ; (2分)(2) 求出u作为模式串时在KMP算法中的nextj值。(2分)j1234567uaabcaabnextj0121123【44,5,1】二维数组A1020采用列序为主方式存储,每个元素占一个存储单元,并且A00的存储地址是200,则A610的地址是332。【45,5,1】设每个元素需要8个字节,顺序存储100个元素,若首地址是250

13、0,那么第50个元素的地址是_2892_。【46,5,2】已知二维数组Amn采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A00),则Aij的地址是 LOC (A00) + (n*i + j) k【47,5,2】C语言采用行优先方式存放数组元素,数组下标从0开始。设维数为(5,6,7)的数组A5x6x7的起始存储地址为Loc000=1000,每个数组元素占用4个字节。则元素A444所在的地址Loc444= _1800_。【48,5,2】按行优先次序列出三维数组A232的所有12个元素在内存中的存储次序,它们依次是: A000 A001 A010 A011 A0

14、20 A021 A100 A101 A110 A111 A120 A121【49,5,3】对一个10阶对称矩阵A,采用压缩存储方式(以行序为主序,且A00的地址为1),则A85的地址是 34 。【50,5,3】对一个10阶三对角矩阵A,采用压缩存储方式(以行序为主序,且A00的地址为1,每个元素占4个字节),则A65的地址是 69 。【51,5,3】对一个对称矩阵A(aij=aji,0=i,j=j)对应S中的下标是 i*(i+1)/2 + j+1 ;一维数组S的大小M至少为 (n+1)*(n+1) 。【52,6,1】已知一棵树边的集合是,。那么根结点是 e ,结点b的双亲是 d ,结点a的子孙

15、有 bcdj ,树的深度是 4 ,树的度是 3 ,结点g在树的第 3 层。【53,6,2】通常使用二叉链表来表示二叉树结构。【54,6,2】从概念上讲,树与二叉树是二种不同的数据结构,将树转化为二叉树的基本的目的是.树可采用二叉树的存储结构并利用二叉树的已有算法解决树的有关问题。【55,6,2】在图1至图5中, _1,2,3,4,5_是树,_1,2,3,4_是二叉树,_1,2,3_是完全二叉树,_1,3_是满二叉树。 图1 图2 图3 图4 图5【56,6,3】在图4中,结点H在这棵树的前序、中序和后序遍历次序中分别是_6_、第_5_和第_3_个结点。【57,6,2】满三叉树的第i层的结点个数

16、为 3i-1 ,深度为h时该树中共有 3h-1 结点。【58,6,2】在图4中,A是_根_结点,D是_叶子_结点,B是E的_父亲_,B是G的_祖先_,D是E的_兄弟_。这棵树的度是_6_,深度是_4_。【59,6,2】程序填空:下列算法是求以二叉链表存储的二叉树中的最小值,设数据域的类型为int。void minnode(BiTree T, int *min) if(T!=NULL) if( *minT-data ) *min = T-data; minnode(T-lchild,min); minnode(T-rchild,min) ; 【60,6,2】已知一棵完全二叉树有56个叶子结点,从

17、上到下、从左到右对它的结点进行编号,根结点为1号。则该完全二叉树总共结点有_111_个;有_7_层;第91号结点的双亲结点是_45_号;第63号结点的左孩子结点是_号。【61,6,2】下列表示的图中,共有_5_个是树;有_3_个是二叉树;有_2_个是完全二叉树。【62,6,3】下列二叉树的中序遍历序列是_DBNGOAEC_;后序遍历序列是_DNIGBECA_。 【63,6,3】一棵二叉树的中序遍历序列是DBNGOAEC,后序遍历序列是DNOGBECA,则其先序遍历的序列中的第一个元素是_ A _,第五个元素是_N _,最后一个元素是_E_【64,6,3】下列二叉树的先序遍历序列的第5个结点是_

18、N_;第8个结点是_E_;后序遍历序列的第2个结点是_N_;第6个结点是_E_。【65,6,3】如果某二叉树的后序遍历序列是ABCDEFGHI,中序遍历序列是ACBIDFEHG,则其先序遍历序列的第一个字母是 I ,最后一个字母是 G 。【66,6,3】程序填空:设算法DFS(Mgraph *G, int i)是无向图G从i顶点开始的深度优先遍历算法。下列算法是判断无向图G是否是连通的。int isconnect(Mgraph *G) int i,k=0; for(i=0; ivexnum; i+) visitedi = 0; for(i=0; ivexnum; i+) if(!visited

19、i) k+ ; DFS(G, i); if(k=1) return 1 ; else return 0;【67,7,2】图有 邻接矩阵 和 邻接表 等存储结构。【68,7,2】设无权图G的邻接矩阵为A,若(vi,vj)属于图G的边集合,则对应元素Aij等于 1 ,设无向图G的邻接矩阵为A,若Aij等于0,则Aji等于 0 。【69,7,2】若一个图用邻接矩阵表示,则计算第i个结点的入度的方法是 求矩阵第i列非零元素之和 。【70,7,2】若一个图用邻接矩阵表示,则删除从第i个顶点出发的所有边的方法是 矩阵第i行全部置为零 。【71,7,4】n个顶点的连通图至少有 n1 条边。【72,7,4】设

20、一个图G=V,A,V=a,b,c,d,e,f,A=,。那么顶点e的入度是 2 ;出度是 1 ;通过顶点f的简单回路有 2 条;就连通性而言,该图是 强连通 图;它的强连通分量有 1 个;其生成树可能的最大深度是 5。【73,7,5】下面有向图共有_4_个顶点;从v3到v2的最短简单路径之一是_v3v4v2_;v1的出度是_2_;包含所有顶点的简单路径之一是_v3v4v1v2_。【74,9,2】n个结点的二叉排序树的最大深度是 n ,最小深度为 log2n+1 【75, 9,3】设有一组关键字9,01,23,14,55,20,84,27,采用哈希函数:H(key)=key mod 7,表长为10

21、,用开放地址法的二次探测再哈希方法Hi=(H(key)+di) mod 10(di = 12,22,32,)解决冲突。要求:对该关键字序列构造哈希表,并计算查找成功的平均查找长度。 哈希地址0123456789关键字140192384275520比较次数11123412平均查找长度:ASL = (1+1+1+2+3+4+1+2)/8 = 15/8以关键字27为例,H(27)=27%7=8(冲突),H1=(6+1)%10=7(冲突),H2=(6+22)%10=0(冲突),H3=(6+33)%10=5,所以比较了4次。【76,10,1】排序过程一般需经过两个基本操作,它们是 比较 和 移动 。【7

22、7,10,2】结点的关键字序列是(F,B,J,G,E,A,I,D,C,H),对它按字母的字典序进行排列。如果采用Shell排序方法,那么步长取5时,第一次扫描结果的前5个字母分别是 (A,B,D,C,E) 。【78,10,2】在对一组关键字是(54,38,96,45,15,72,60,23,83)的记录进行直接插入排序时,当把第七个记录(关键字是60)插入到有序表时,为寻找插入位置需比较 3 次。【79,10,3】在利用快速排序方法对一组关键字是(54,38,96,45,15,72,60,23,83)的记录进行排序时,需要递归调用partition函数,递归的最大深度(设第一次调用深度为1)为

23、 3 ,共需5次递归调用,其中第二次递归调用是对关键字是 (23,38,15,45) 的一组记录进行的。【80,10,4】插入排序、希尔排序、选择排序、快速排序、堆排序、归并排序、和基数排序方法中,不稳定的排序方法有 希尔排序、快速排序、堆排序 。4) 分析计算作图题:序号1-55(选自数据结构题集严蔚敏等编)【1, 1,4】(选自数据结构题集1.8,选做题)设n为正整数,试确定下列各段程序中前置以记号的语句的频度(语句的频度指的是该语句重复执行的次数)。(1) i=1;k=0;while (i0) if(x100) x-=10; y-; else x+;答:在循环中,if语句为真1次,else语句执行10次,所以if 语句执行11次y的值减1。该语句的频度为100x(1+10) = 1100【2, 1,4】(选自数据结构题集1.9,选做题) 假设n为2的乘幂,并且n2,试求下列算法的时间复杂度及变量count的值(以n函数形式表示) int Time (int n) count =0; x=2; while( x next S ;(2)P next P next next;(3)P next S next;(4)S next P next;(5)S next L;(6)S next NULL;(7)Q P;(8)while (P next ! Q)P P next;(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1