版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课后习题部分参考答案 ? )n)2)23算法思想:P 1n0语句:;a ;i) 因已知顺序表L是递增有序表,所以只要从顺序表终端结点(设为i位置元素)开始向前寻找到第一个小于或等于x的元素位置i后,插入该位置后面即可。在寻找过程中,由于大于x的元素都应放在x之后,所以可边寻找,边后移元素,当找到第一个小于或等于x的元素位置i时,插入x的位置i+1也空出来了。算法如下:void InsertIncreaseList1(seqlist *L,datatype x)int i;if (L-elemnum=maxsize) printf(overflow); / L-elemnum 中存放当前
2、顺序表中的元素个数for (i=L-elemnum-1;i=0 & L-dataix;i-) L-datai+1=L-datai; /从后往前比较并移动元素L-datai+1=x;L-elemnum+;void InsertIncreaseList2(seqlist *L,datatype x)int i,j;if (L-elemnum=maxsize) printf(overflow);i=0;while(ielemnum-1)&(L-dataielemnum-1;j=i;j-) L-dataj+1=L-dataj; /腾位置L-datai=x; /插入L-elemnum+;同111 时+%
3、。t0i,( 001;1;()()010C C B BC B D A 220A1B2C3D4E5F9G12H(2)ABHG(3)ABHG3(1)01AB-10CGFEDIHJKMN0112224556710111224ABCGFEDIHJKMN678101112(3)ABN4ABFJECGDHI森林中既无孩子又无右兄弟的结点在二叉树中是叶结点。5AEHG6. 用反证法证明。假设结点数大于1的哈夫曼树存在节点A度为1,那么A的孩子lchild的权值和A相同.(叙述叙述)=此树的WPL并非最小.那么此树就不是哈夫曼树.=假设错误.=结点数大于1的哈夫曼树不存在度为1的结点7.n=n+1,n=n+n
4、+n= n+0+ n-1=2n-102012000nn0 012m201m3012m012m1GFBCHKJEDAIHBGIKLCEFJABCFDEGHIJ10a1010ceb1d哈夫曼编码树0 B C BD B B 每个顶点入度和出度:ID(v1)=2ID(v2)=2ID(v3)=1ID(v4)=3ID(v5)=2ID(v6)=1邻接矩阵:OD(v1)=1OD(v2)=2OD(v3)=3OD(v4)=0OD(v5)=3OD(v6)=2000100100000100010010010101100100100邻接表:1234565124 25 01100001100000010000010001
5、10110001001001001000110356 56 int PATHDFS(ALGraph *G,int i,int j)/以邻接表为存储结构,判断vi和vj之间是否有路径,若有返回1,否则返回0EdgeNode visitedi=TRUE; /标记vi已访问p=G-adjlisti.firstedge; vi边表的头指针while(p)/依次搜索vi的邻接点k=p-adjvexif(!visitedp-adjvex)/若vk尚未被访问if (p-adjvex=j)return 1;else ruturn PATHDFS(g,p-adjvex,j);/则以Vk为出发点向纵深搜索p=p-
6、next; /找vi的下一邻接点return 0;/PATHDFSint BFS(ALGraph *G,int i,int j)/以邻接表为存储结构,判断vi和vj之间是否有路径,若有返回1,否则返回0int CirQueue /须将队列定义中DataType改为intEdgeNode InitQueue(&Q);/队列初始化visitedi=TRUE;EnQueue(&Q,i);/viwhile(!QueueEmpty(&Q)/队非空则执行i=DeQueue(&Q); /相当于vi出队p=G-adjlisti.firstedge; vi的边表头指针while(p)/依次搜索vi的邻接点vk(
7、令p-adjvex=k)if(!visitedp-adjvex) /若vk未访问过if (p-adjvex=j)return 1;elsevisitedP-adjvex=TRUE;EnQueue(&Q,p-adjvex);/访问过的vk人队p=p-next;/找vi的下一邻接点/endwhile/endwhilereturn 0;/end of pathBFSvoid ShortestPath(ALGraph *G,int P ,int D ) int finalMaxVerNum,i,j,k,min;EdgeNode *s;final0=1; /* 初始时集合S中只有0号顶点 */D0=0;
8、P0=-1; /* 0号顶点 无前驱顶点 ,用-1表示 */for(i=1;in;i+) finali=0;Di= INFINITY ;Pi=0; /* Pi存放i号顶点的前驱顶点 */s=G-adjlist0.firstedge;while (s!=NULL) Ds-adjvex=s-weight; s=s-next; for(i=1;in; i+) /*重复G-n-1次*/ min=INFINITY;for(k=0;kn;k+)if(finalk=0&Dkadjlistj.firstedge;while (s!=NULL)if(finals-adjvex=0)& (Dj+ s-weightadjvex) Ds-adjvex= Dj+ s-weight; Ps-adjvex=j; s=s-next;B BCCCDCDDDC D B 2 答:等概率情况下,查找成功的平均查找长度为:ASL=(1+2*2+3*4+4*8+5*3)/18=3.556查找失败时,最多的关键字比较次树不超过判定树的深度,此处为 Apr Aug Dec FebJune July Se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 缝纫品整型工改进能力考核试卷含答案
- 染料拼混工安全宣教知识考核试卷含答案
- 陶瓷注浆成型工安全技能模拟考核试卷含答案
- 生活垃圾堆肥操作工岗前基础模拟考核试卷含答案
- 珠宝首饰评估师岗前认证考核试卷含答案
- 煤层气测井测试工安全意识强化评优考核试卷含答案
- 旅游团队领队岗前变更管理考核试卷含答案
- 联合收割机驾驶员职业健康技术规程
- 海水鱼类养殖工岗前竞争考核试卷含答案
- 稳定土拌和设备操作工职业健康技术规程
- 【格力电器公司税收筹划方案设计(5000字论文)】
- 唐山出入境边防检查站诚信管理服务双向
- 2022年05月上半年国家药品监督管理局医疗器械技术审评检查大湾区分中心公开招聘6人42考试参考题库答案详解
- 2019年春季马克思主义基本原理概论课程社会实践报告大学生应该如何看待及应对人工智能的发展
- 锁紧回路的连接与调试
- 风电场设备材料设备清单
- 垂体瘤的围手术期护理
- 工业管道sch壁厚等级对照表优质资料
- 高一心理健康课缓解压力
- 国家开放大学《人文英语4》边学边练参考答案
- 案例分析和扎根理论方法课件
评论
0/150
提交评论