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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数据结构课程设计参考答案.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计参考答案.doc

1、/* 马的遍历及其复杂性分析 */ #include #define MAX 16 int step=0, count=0; /* chessMAXMAX用来表示棋盘; step 是步骤数; count 是运算次数; chessij=-1 表示该单元格非当前棋盘的有效位置; chessij=0 表示该单元格尚未经过马的遍历; chessij=1 表示马遍历时经过该单元格时的步骤; */ /* nextStepNum()函数用来计算 (x, y)处可以跳 的方向数 */ int nextStepNum(int chessMAX, int x, int y) int sum=0; if(chess

2、x-1y-2=0) sum+; if(chessx-2y+1=0) sum+; if(chessx+2y+1=0) sum+; if(chessx+2y-1=0) sum+; if(chessx-2y-1=0) sum+; if(chessx-1y+2=0) sum+; if(chessx+1y-2=0) sum+; if(chessx+1y+2=0) sum+; return(sum); /*每找到一个位置 sum+,最后返回 sum 值就是在 (x,y)处可走的位置数*/ /* jump 函数测试第 step 步为 (x,y)位置的情况下,是否可以走完棋盘,如果可以返回 1,否则返回 0

3、*/ int jump(int chessMAX, int rowNum, int colNum, int x, int y) int s9, a9; int min, i, j, k; count+; step+; chessxy=step; /* 如果已经走到了 rowNum colNum 的话,表示满足结束条件,返回 1 */ if(step=rowNum*colNum) return 1; /* 计算 (x, y)处下一步的八个位置上,每个位置上可以继续进行跳跃的方向数 */ s1=nextStepNum(chess, x-2, y+1); s2=nextStepNum(chess,

4、x-1, y+2); s3=nextStepNum(chess, x+1, y+2); s4=nextStepNum(chess, x+2, y+1); s5=nextStepNum(chess, x+2, y-1); s6=nextStepNum(chess, x+1, y-2); s7=nextStepNum(chess, x-1, y-2); s8=nextStepNum(chess, x-2, y-1); /* 对下一步的八个位置上可以继续进行跳跃的方向数从小到大排序 */ / s 数组的下标即为方向编号, a 数组中存储的即为各个方向编号 for(j=1; j=1 /弧的尾和头顶点位

5、置 float weight; struct ArcNode1 *hlink,*tlink; /分别为弧头相同弧尾相同的弧的链域 ArcNode; typedef struct type char r3; /顶点值 VertexType; typedef struct VexNode VertexType data; ArcNode *firstin, *firstout; /分别指向该顶点第一条入弧和出弧 VexNode; / 定义十字链表类型 typedef struct VexNode xlistMAX; /表头结点 int vexnum, arcnum; /有向图的当前顶点数和弧数 O

6、LGraph; / 确定 vex 顶点在图中的位置 int locate(OLGraph G, VertexType vex) int i; for(i=0;iheadvex-; q=q-tlink; flag=1; break; / 这个 break 必不可少,否则程序逻辑上将会有漏洞! else flag=0; if(counttlink; free(p); p=G.xlisti.firstout; G.vexnum=-1; G.arcnum=-1; / 创建 AOE 网的十字链表存储结构 void createDG(OLGraph float weight; int vextailpoi

7、,vexheadpoi; VertexType vertail,verhead; ArcNode *p; / 如果输入的图不是 AOE 网,则反复输入,直到输入正 确为止 while(1) do printf(“分别输入顶点和弧的个数(用空格键隔开): “); scanf(“%d%d“, if(G.vexnum10) printf(“ttAOE 网的顶点数必须属于【 1-10】,请重新输入! n“); while( (G.vexnum10) ); for(i=0; itailvex=vextailpoi; p-headvex=vexheadpoi; /对弧结点赋值 p-weight=weigh

8、t; p-hlink=G.xlistvexheadpoi.firstin; p-tlink=G.xlistvextailpoi.firstout; G.xlistvextailpoi.firstout=p; /完成在入弧和出弧链头的插入 G.xlistvexheadpoi.firstin=p; indegreevexheadpoi+; / 弧头结点的入度自增 printf(“ntAOE 网输入结束,十字链表存储结构创建成功! n“); / 如果可以拓扑排序,则 break;否则,应回收该十字链表,并再次输入该 AOE网 if(1=topoSort(G, indegree, topo) brea

9、k; else printf(“n 该十字链表表示的图中存在环,为其分配的内存空间已回收,请重新输入正确的 AOE 网! nn“); destroy(G); /* 输出 AOE 网的十字链表存储结构 */ void printfOLGraph(OLGraph ArcNode *q; if(G.vexnum0) printf(“十字链表为: n“); /输出十字链表 for(i=0; i%s 的 权值 %.1f ; “, G.xlistq-tailvex.data.r, G.xlistq-headvex.data.r, q-weight); q=q-tlink; printf(“n 以顶点 %s

10、 为弧头的弧: “, G.xlisti.data.r); q=G.xlisti.firstin; /q 指向表头结点中各结点的入弧链 while(q) printf(“%s%s 的 权值 %.1f ; “, G.xlistq-tailvex.data.r, G.xlistq-headvex.data.r, q-weight); q=q-hlink; printf(“n“); else printf(“AOE 网尚未输入,请先输入 AOE 网! n“); / 求 AOE 网的关键路径并输出 void searchKeyPath(OLGraph G, int topo) int i; float veMAX, vlMAX; / 顶点的最早发生时间和最晚发生时间 float max, min; /活动的时间余量 int arcHeadPoi, arcRearPoi; ArcNode *p; if(G.vexnum0) / 顶点的最早发生时间 =max(弧尾顶点的最早发生时间 +弧长) / 如果没有以该顶点为弧头的弧,则该顶点的最早发生时间为 0 for(i=0; itailvex+p-weight; p=p-hlink; while(p)

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。