通行证 | 帐号: 密码: 注册 | 登录
网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 电子通信 -> 通过图的邻接矩阵实现图的搜索实现(二)
自动化文档范文| 电子机电范文| 测控技术范文| 通信专业范文| 电气工程范文| 通信工程范文| 电子信息工程范文| 免费自动化范文| 免费电子范文| 免费电气范文| 通信范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

本专业推荐:带proteus仿真程序的文档设计范文  原创文档范文点击进入 → 自动化单片机相关的原创文档范文

通过图的邻接矩阵实现图的搜索实现(二)

本文ID:LW6392 ¥
. endif 9. endfor 10. if Q为空 then return; endif 11. DelHead(u,Q); 12. endloop 13.end BFS 4.2 程序运行流程图 程序开始运行后,其流程图如下所示: 如图4.1,程序开始运行后,选择0或1分别构造有向图和无向图,然后根据程序的提示分别输入图的结点数,边数和它们之间的对应关系,最后输出深度优先搜索和广..
.     endif
 9.   endfor
 10. if Q为空 then  return; endif
 11. DelHead(u,Q);
 12. endloop
 13.end BFS

 

 

 

4.2 程序运行流程图
程序开始运行后,其流程图如下所示:

如图4.1,程序开始运行后,选择0或1分别构造有向图和无向图,然后根据程序的提示分别输入图的结点数,边数和它们之间的对应关系,最后输出深度优先搜索和广度优先搜索的结果。
图4.1程序运行流程图

4.3 代码分析
4.3.1 主要函数的功能:
(1)createmgraph(mgraph *g) 建立图g的邻接矩阵表示
(2)mgraph *g:申请图g的邻接矩阵表示空间
(3)createmgraph(g):建立图g
(4)dfsm(mgraph *g,int i):对以邻接矩阵表示的图,以序号为i的顶点为出发点进行深度优先搜索
(5)bfsm(mgraph *g,int k)对以邻接矩阵表示的图,以序号为k的顶点作为出发点进行广度优先搜索
(6)printf("visit vertex:%d ",g->vexs[i]):访问序号为i的顶点
(7)printf("visit vertex:%d ",g->vexs[k]):访问序号为k的顶点
(8)printf("the dfs is:") dfstraverse(g); 输出对图g进行深度优先搜索的结果
(9)printf("the bfs is:"); bfstraverse(g);输出对图g进行广度优先搜索的结果


4.3.2 本程序的数据结构: 
dfstraverse(mgraph *g)
 {//对以邻接矩阵表示的图,进行深度优先搜索
  int i;
  for(i=0;i<g->n;i++)//将图的所有顶点设置为未访问过
    visited[i]=FALSE;
  for(i=0;i<g->n;i++)//对图*g进行深度优先搜索
   if(!visited[i])
    dfsm(g,i);
  printf("\n");
 }//end of dfstraverse

bfstraverse(mgraph *g)
 {//对以邻接矩阵表示的图,进行广度优先搜索
  int i;
  for(i=0;i<g->n;i++)//将所有顶点设置为未访问过
    visited[i]=FALSE;
  for(i=0;i<g->n;i++)//对邻接矩阵表示的图进行广度优先搜索
   if(!visited[i])
    bfsm(g,i);
  printf("\n");
 }//end of bfstraverse


4.3.3 本程序的关键代码:
#define maxvertexnum 100//设置邻接矩阵的最大阶数
#define queuesize 100//设置循环队列的最大空间
typedef struct{
  int front,rear,count,data[queuesize];
 }cirqueue;//循环队列结构定义
typedef int vertextype;//设置图的顶点信息为整型
typedef int edgetype;//设置边上权值为整型
typedef struct{
  vertextype vexs[maxvertexnum];//图的顶点信息表
  edgetype edges[maxvertexnum][maxvertexnum];//图的邻接矩阵
  int n,e;//图的顶点数和边数
 }mgraph;//图的邻接矩阵表示结构定义

 main()//主函数
 {//建立用邻接矩阵表示的图,并进行深度优先搜索和广度优先搜索
  mgraph *g;
  g=(mgraph*)malloc(sizeof(mgraph));//申请图g的邻接矩阵表示空间
  createmgraph(g);//建立图g
  printf("the dfs is:");//对图g进行深度优先搜索
  dfstraverse(g);
  printf("the bfs is:");//对图g进行广度优先搜索
  bfstraverse(g);
 }
createmgraph(mgraph *g)
 //建立图g的邻接矩阵表示
  int i,j,k,w;
  int flag;
dfsm(mgraph *g,int i)
 //对以邻接矩阵表示的图,以序号为i的顶点为出发点进行深度优先搜索
dfstraverse(mgraph *g)
 //对以邻接矩阵表示的图,进行深度优先搜索
bfsm(mgraph *g,int k)
 //对以邻接矩阵表示的图,以序号为k的顶点作为出发点进行广度优先搜索
bfstraverse(mgraph *g)
 //对以邻接矩阵表示的图,进行广度优先搜索

 

 对关键代码的说明:开始是建立图的邻接矩阵,对图的结构类型的定义,在子程序中,完成对深度优先搜索和广度优先搜索的建立,在以邻接矩阵表示的图中,分别进行深度优先搜索和广度优先搜索,并在主函数中调用它们。

5调试与运行结果 
5.1 调试方法及调试过程
   调试方法: TurboC集成环境有很强的动态调试能力,在程序设计过程中,有如下几种主要调试手段:(1)运行(Run: Run,ctrl-F9) (2)设置断点 (break/watch: toggle breakpoint, Ctrl-F8) (3)变量查看及修改 (Debug:Evaluate, CtrL-F4)(4)查看函数调用情况(Debug: Call stack, Ctrl-F3)(5)查找函数(Debug: Find function)(6)更新屏幕内容(Debug: Refresh disp1ay)(7)设置观察对象(break/watch:Add watch,ctrl-F7)等。
 调试过程:程序第一次运行时,出现了头文件无法辨析和C1202的错误,在把注释,此问题得以解决,不过由于本程序大部分采用结构化程序设计方法,程序是DOS界面,并且数据都保存在内存中,因此稳定性不是很高。除了应严格按照数据的定义外,数值类数据不能输入过大,在测试过程中曾由于输入数据过大,发生了溢出错误,修改数据后此问题得以解决。在主函数的结尾还要加上getch(),否则会因为操作系统版本原因导致无法在TC环境中查看运行结果。
5.2 程序运行结果:
 本次测试数据用图及其邻接矩阵如图5.1所示:
 
 图5.1测试数据用图
 
 
 
 ∞ 3   3    ∞  ∞  ∞
            &nb

首页 上一页 1 2 3 4 下一页 尾页 2/4/4

通过图的邻接矩阵实现图的搜索实现(二)相关范文
暂无...
上一篇:计算机系统仿真设计运用MATLAB设.. 下一篇:基于IPSEC实现网络的安全管理系统
点击查看关于 通过 邻接 矩阵 实现 搜索 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文
免费文档范文--单片机串行通信发射机
免费文档范文--基于网络的虚拟仪器测试..
基于思科设备得VPN实现
用于闭域空间(矿井与隧道等)无线通信..
红外遥控单片机通信
免费文档范文--智能化小区网络设计规计
通过图的邻接矩阵实现图的搜索实现
免费文档范文--XX市宽带IP网络方案
简述EDI无纸报关及其前景
实验2 振幅调制(Amplitude modulation..

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有