广度优先算法的C++实现

广度优先算法的C++实现

ID:38788094

大小:13.77 KB

页数:4页

时间:2019-06-19

广度优先算法的C++实现_第1页
广度优先算法的C++实现_第2页
广度优先算法的C++实现_第3页
广度优先算法的C++实现_第4页
资源描述:

《广度优先算法的C++实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//只需要三个文件,需要用到该算法的时候只需要把searchAlgorithm.h这个头文件包含进来就可以使用了。//typeDefinition.h文件代码如下:#pragmaonce//定义链接的结构体typedefstructIDSrcAndDst{intIDSrc;//源节点标号intIDDst;//目的节点标号}IDSrcAndDst;//searchAlgorithm.h文件代码如下:#pragmaonce#include"typeDefinition.h"#include

2、r>usingnamespacestd;classBreadthFirstAlgorithm{public:voidJudgeConnection(vectorIDSrcDst,intnodeNum,intedgeNum);//根据所给图的数据判断该图是否连通//其中nodeNum为图的节点数,edgeNum为边数public:BreadthFirstAlgorithm();~BreadthFirstAlgorithm();};//searchAlgorithm.cpp文

3、件代码如下:#include#include"searchAlgorithm.h"usingnamespacestd;BreadthFirstAlgorithm::BreadthFirstAlgorithm(){}BreadthFirstAlgorithm::~BreadthFirstAlgorithm(){}voidBreadthFirstAlgorithm::JudgeConnection(vectorIDSrcDst,intnodeNum,int

4、edgeNum){vectornode_id;//定义节点id号容器node_id.clear();node_id.push_back(0);//自定义算法从标号为0的点开始执行,故将0放进容器intflagSRC=0;//源节点不在容器中的标记,0表示该节点不在容器中intflagDST=0;//目的节点不在容器中的标记,0表示该节点不在容器中intcurrent_nodeid=0;//定义当前根节点,刚开始时以标号为0的点为当前根节点intnode_size;//定义节点容器的大小n

5、ode_size=node_id.size();//以0为根节点,将生成树按照广度优先的顺序逐层遍历//主循环中,有100个节点,就遍历100次;次循环中,有300条边,就循环300次for(intl=0;l

6、判断目的节点是否在nodeid容器中,若不在即写进容器for(intp=0;p

7、,若不在即写进容器for(intp=0;p

8、e_id.size()){cout<<"ThisGraphisconnected."<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。