《数据结构》作业参考答案.doc_第1页
《数据结构》作业参考答案.doc_第2页
《数据结构》作业参考答案.doc_第3页
《数据结构》作业参考答案.doc_第4页
《数据结构》作业参考答案.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

数据结构作业参考答案数据结构作业参考答案一、选择题1 a b2 c3b4a,d5 b6 d7b8D 9D 10B 11C 12C 13 c 14d 15a 16b 17c18d 19c 20b 21b22c 23c 24d 25d 26c 二、填空题1 23 43 2k-1, 2k-1, 2k-2+14 v1, v3, v2, v4, v55 46数据项 7结点的直接前驱结点, 结点的直接后继结点8ST.top= =-1 9参加比较的两个字符串长度相同10 11120三、算法应用题1623725191812139104567解答:WPL=4*4+5*4+6*3+7*3+10*3+12*2+18*2=9*4+23*3+30*2=36+69+60=1652解答:和已知序列对应的二叉树是:FACDGJKHIBE34解答:各关键字的哈希函数值见下表:key190123145520842768111077H(key) =key%136110137613111012采用开放地址法的线性探测再散列方法解决冲突,已知其装填因子,对上表中的关键字序列构造所得哈希表如下:地址01234567891011121314151617key011455276819208423111077比较次数121431131132在等概率情况下,其查找成功时的平均查找长度是:5和已知序列对应的森林如下图示:ABDGCEFHIKLJ6解答:设这8个字母的权重为7,19,2,6,32,3,21,101111111000000023561110717282119403260100由上图的哈夫曼树知这8个字母的哈夫曼编码分别为0010,10,00000,0001,01,00001,11,00117解答:如图所示的无向带权图的邻接矩阵如下图示:12345610615260533150564455025360664260按Prim算法求得的最小生成树如下图(f)所示(树中结点用粗黑实线表示):假设初始时,树中只有一个顶点,不含有任何一条边,下图(a)(f)为用Prim算法求其最小生成树的过程。6246355165V1V2V3V4V5V6(a)2463551656V1V2V3V4V5V6(b)62463551V1V2V3V4V5V665(c)65V1V2V3V4V5V662435165(d)6V56243551V1V2V3V4V665(e)6246355165V1V2V3V4V5V6(f)如图所示的无向带权图的邻接表如下图示:V1V2V3V4V5V6012345123 NULL024 NULL 013 NULL 025 NULL 125 NULL 234 NULL 按照Kruskal算法求得的最小生成树如下图(f)所示(树中结点用粗黑实线表示),假设初始时,树中含有全部顶点,但不含有任何一条边,下图(a)(f)为用Kruskal算法求最小生成树的过程。6246355165V1V2V3V4V5V66246355165V1V2V3V4V5V6(b)62463551V1V2V3V4V5V665(c)56365V1V2V3V4V5V624165(d)63624551V5V1V2V3V4V665(e)6246355165V1V2V3V4V5V6(f)(a)8解答:快速排序的最好情况是指,排序所需的“关键字间的比较次数”和“记录的移动次数”最少的情况,在n=7时,至少需要进行2趟排序。因此,当n=7时在最好情况下需进行的比较次数是10次。n=7时的一个最好情况的初始排列实例是:4,7,5,6,3,1,29解答:对长度为20的有序表进行斐波那契查找的判定树如下图示:1381851116203710121517192469141 其等概率查找时查找成功的平均查找长度为:10a9=4a8=7a7=9a5=1a4=1a3=5a2=4a1=6V11V21V31V41V51V61V71V81V91a6=2a10=2a11=4解答:上图所示AOE网中各顶点事件的最早发生时间Ve(i)和最迟发生时间Vl(i)如下表示:V1V2V3V4V5V6V7V8V9Ve(i)064577161418Vl(i)0668710161418上图所示AOE网中各活动的最早开始时间e(i)和最迟开始时间l(i)如下表示:a1a2a3a4a5a6a7a8a9a10a11e(i)0006457771614l(i)02366877101614有上表的可见活动a1, a4, a7, a8, a10, a11的最早开始时间和最迟开始时间相等,因此他们是关键活动,他们所在的路径是关键路径。见下图示。有2条关键路径。a6=2a10=2a9=4a8=7a7=9a5=1a4=1a3=5a2=4a1=6V11V21V31V41V51V61V71V81V91a11=4四、算法设计题1本题涉及的存储结构描述如下:单链表存储结构:typedef struct Lnode *LinkList;typedef struct LnodeDataType data;LinkList next;Lnode,*LinkList;void mergelinklist (LinkList&lc, LinkList la, LinkList lb)lc=la;pa=la-next; pb=lb-next; pc=lc;lc-next=NULL;while(pa & pb)pc-next=pa;pc=pa;pa=pa-next;pc-next=pb;pc=pb;pb=pb-next;if ( pa ) pc-next=pa;delete(lb);2解答:本题涉及的存储结构描述如下:树的二叉链表存储结构:typedef strcut bitreenode *bitree;typedef struct bitreenodedatatype data;bitree lch, rch; bitreenode, *bitree;队列的链式存储结构:typedef struct linkquenode *linkqueptr;typedef struct linkquenodebitree quelem;linkqueptr next; linkquenode, *linkqueptr;typedef struct linkquelinkqueptr front, rear; linkque;void layertraverse(bitree bt)coutendl”按层次遍历的结果如下:”endl;initqueue(Q);if ( bt )enterqueueu(Q,bt);while( ! emptyqueue(Q) )p=delqueue(Q);coutdata;if (p-lch) enterqueueu(Q, p-lch);if (p-rch) enterqueueu(Q, p-rch);else coutendl”该树是空树”endl;/遍历结束3解答:本题涉及的存储结构描述如下:图的邻接链表存储结构:typedef struct adjvexnode *adjvexptr;typedef structint adjvex;adjvexptr next;adjvexnode,*adjvexptr;typedef struct vexnodeDataType data;Adjvexptr firstadj;vexnode;typedef structvexnode vertexVexNum+1int vexnum,arcnum; Graph_adjlinkint Num_connected(Graph_adjlink g)count=0;for( v=1; v=g.vexnum; v+) visitedv=false;for(v=1; v= g.vexnum; v+) if (!visitedv) dfs(g,v);count+;return count;void dfs(Graph_adjlink g, int v)cout adjvex;if (!visitedw) dfs(g,w);p=p-next;4解答:本题涉及的存储结构描述如下:单链表存储结构:typedef struct Lnode *LinkList;typedef struct LnodeDataType data;LinkList next;Lnode,*LinkList;void merge_two_asceding_linklist_to_one_desceding_linklist (LinkList& lc, LinkList la,lb)pa=la-next;pb=lb-next;lc=la;pc=lc;pc-next=NULL;while ( pa & pb )if (pa-data data)u=pa-next;pa-next=pc-next;pc-next=pa;pa=u;elseu=pb-next;pb-next=pc-next;pc-next=pb;pb=u;while (pa )u=pa-next;pa-next=pc-next;pc-next=pa;pa=u;while (pb )u=pb-next;pb-next=pc-next;pc-next=pb;pb=u;delete(lb)5解答:本题涉及的存储结构描述如下:顺序存储结构:const maxsize=100;typedef int ElemType;typedef structElemType rmaxsize+1;int length;/实际长度SqList;Void inert_x_into(SqList& va, int x)j=va.length;while ( (x=0) )va.rj+1=va.rj;j-;va.rj+1=x;va.length=va.length+1;五、简答题1存储图:1 0 a 1 0 b 1 0 c 1 0 d 0 e 1 1 0 f 1 2树:abcabc二叉树:

温馨提示

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

最新文档

评论

0/150

提交评论