- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2013年_中兴捧月程序设计大赛_求网络中两点之间路径_程序_cpath
求网络中两点之间的路径
(申明:本文全部原创,谢谢配合,多谢支持)
(作者:ngspace)
(日期:2013_09_03)
一、题目
在一个网络拓扑中(可以支持数千个点的规模),边是双向的,两点之间最多有一条边,所有边的距离相等(也就是权重为1),给出源和目的两个点,需要找出满足条件的路径。
1。找出源和目的之间的一条主用路径。
2。找出源和目的之间的一条备用路径。 备用路径和主用路径至少有一个点或边不相同。
?关于备用路径可能满足下列约束:
?1)和主用路径没有相同的中间节点。
?2)和主用路径没有相同的边。
例如:
示例数据
A_NE_ID,Z_NE_ID
2,28
4,48
9,45
10,1
10,11
11,12
11,2
12,13
13,14
15,23
16,24
17,25
18,19
18,1
20,21
20,29
20,3
21,22
22,23
23,24
24,32
26,27
26,34
27,28
27,35
28,36
29,37
30,31
32,40
32,33
32,31
33,25
33,41
36,44
37,38
37,45
39,30
39,4
40,5
40,49
43,42
43,50
43,6
44,43
45,7
45,8
46,37
46,47
47,48
48,40
拓扑图描述文件
拓扑图文件说明,出于简化的目的,网络拓扑节点用数字表示。
附一个节点较多的测试数据,该数据在在节点631 到节点1980之间找路。
二、初赛阶段要求(含编程语言、开发及运行环境的要求)
1.编程语言:C/C++或者JAVA
2.运行环境:Windows XP
3.源代码和算法说明
4.若采用c/c++,要输出可执行程序;若采用java,给出jar和bat。
5.程序支持命令行参数,
/f后表示拓扑图文件
/s?表示源节点
/d表示目的节点
/c?表示条件(取值1-2,满足上面两个约束条件之一)
/o?表示输出结果文件
如cpath.exe? /ftopolink_example01.txt? /s20? /d32? /c2 /otopolink_result01.txt
表示根据拓扑图文件topolink_example01.txt,计算节点20和节点32之间的主用和备用路径,备用路径要求满足约束条件2。
输出结果文件topolink_result01.txt内容可能的为
main:? 20, 21 ,22, 23, 24, 32
backup: 20,29,37, 46,47,48, 40,32
三、初赛阶段审核标准及评价细则
测试结果80分,10组随机网络数据,网络规模:网元结点数目100到5000不等。
在10分钟内完成计算并正确输出结果的,每计算正确一组数据加8分(主备各4分),?路径较短优,耗时较短优。
代码满分5分,可读性及注释。
文档满分15分,要求给出设计思想。
四、设计思想
针对该问题,可将网络中每个点看成一个节点,从而采用图来存储数据。在程序中具体采用的是图的链接表进行存储。寻找主用路径和备用路径采用回溯法求出多条路径,并从中选出满足条件的路径,之后将输出结果写入文件中。
程序设计主要包括命令处理模块,数据读取模块(含链接表建立),求解路径模块(含输出写入文件)三大模块。
命令处理模块中将会检测输入命令及其参数是否满足正确。如果输入正确则从中提取相关参数以供后面进行求解使用。如果输入命令不满足要求则给出错误提示并给出正确的命令格式样式。
数据读取模块实现从指定文件(文件名又命令处理模块提取的参数提供)读取节点数据及各条边,并将其存入链接表中。
求解路径模块根据命令中输入的源节点和目标节点在图中寻找满足要求的主用路径和备用路径。本模块采用的回溯法求解路径,并进行判断是否满足条件。如果满足则停止计算并将数据写入文件,若不满足则继续求解直至满足条件为止。
具体的程序设计及个模块的实现请看代码。
五、我的代码
#include stdio.h
#include string.h
#includemath.h
#define NULL 0
struct edgenode
{
int edgeno;
struct edgenode *next;
};//定义顶点节点结构
typedef struct vex
{
struct edgenode *first;
}vex;//用于存放各顶点节点对应的第一个链指针
int cmderror(void);
int initcmd(int argc, char *argv[]);
void readfile(char filename[]);
int getpath(int st,int en,int cond);
void
您可能关注的文档
- 2013一轮三维历史教师用书(江苏专版)专题十六 20世纪以来的重大思想理论成果和现代科技成就.ppt
- 2013一轮三维生物教师用书{江苏专版}PPT格式可自主编辑课件必修3第三单元种群和群落.ppt
- 2013七年级科学上第二讲复习汇总.doc
- 2013一轮必修一第七单元 现代中国外交关系.ppt
- 2013一轮三维历史教师用书{江苏专版}专题七西方人文精神发展与近现代科学技术成果、19世纪以来文学艺术.ppt
- 2013上第十一讲:第二次国共合作和抗日战争宁玲玲老师课堂.ppt
- 2013专业技术人员继续教育连云港市情与连云港发展{全}7.doc
- 2013中国汉字听写大会总决赛考题词语详解{配插图}.doc
- -第14课--明朝统治.ppt
- 2013中国汉字听写大会题库1一13期全.doc
- 2013年5月工作报告一田尚军.ppt
- 2013届高考物理一轮复习课件:专题4_圆周运动规律.ppt
- 2013届高考物理二轮复习热点难点专题透析专题9:论述_计算题解题方法和技巧课件(170张ppt).ppt
- 2013年{上}期中试题讲评附带学生作文.ppt
- 2013年一平顶山天地城年度推广策略.ppt
- 2013年一级建造师考试公路工程专业复习资料PPT{路面部分}.ppt
- 2013年一胸腔积液.ppt
- 2013年一级建造师考试公路工程复习资料PPT(管理部分一6).ppt
- 2013岳麓版必修3《音乐和美术》ppt课件3.ppt
- 2013年三维设计选修2-3第1部分 第一讲 1.2 1.2.1 第一课时 排列与排列数公式.ppt
文档评论(0)