当前位置: 首页 > news >正文

网站建设营销推广工作淄博 网站运营

网站建设营销推广工作,淄博 网站运营,静态网页模板 网站模板,家用电脑进行网站建设文章目录 1、BFS1、DFS 1、BFS 广度优先。确定从哪个点开始#xff0c;然后用队列来完成遍历。拿出一个点就把和这个点相连的其它点放进去#xff0c;但是这样前面放进过队列的也有可能被再次放入#xff0c;所以需要做好标记。一个队列#xff0c;一个标记容器。在邻接矩… 文章目录 1、BFS1、DFS 1、BFS 广度优先。确定从哪个点开始然后用队列来完成遍历。拿出一个点就把和这个点相连的其它点放进去但是这样前面放进过队列的也有可能被再次放入所以需要做好标记。一个队列一个标记容器。在邻接矩阵里写。 void BFS(const V src){size_t srci GetVertexIndex(src);//队列和标记数组queueint q;vectorbool visited(_vertexs.size(), false);q.push(srci);visited[srci] true;size_t n _vertexs.size();while (!q.empty()){int front q.front();q.pop();cout front : _vertexs[front] endl;//把front点的邻接顶点放进队列for (size_t i 0; i n; i){if (_matrix[front][i] ! MAX_W !visited[i]){q.push(i);visited[i] true;}}}cout endl;}测试代码 void TestGraphBDFS(){string a[] { 张三, 李四, 王五, 赵六, 周七 };Graphstring, int g1(a, sizeof(a) / sizeof(string));g1.AddEdge(张三, 李四, 100);g1.AddEdge(张三, 王五, 200);g1.AddEdge(王五, 赵六, 30);g1.AddEdge(王五, 周七, 30);g1.BFS(张三);}我们加入别的功能现在要记录走了几层。比如对于A来说连接BB连接CB是A的第一层节点C是A的第二层节点。 void BFS(const V src){size_t srci GetVertexIndex(src);//队列和标记数组queueint q;vectorbool visited(_vertexs.size(), false);q.push(srci);visited[srci] true;int levelSize 1;size_t n _vertexs.size();while (!q.empty()){for (int i 0; i levelSize; i){int front q.front();q.pop();cout front : _vertexs[front] ;//把front点的邻接顶点放进队列for (size_t i 0; i n; i){if (_matrix[front][i] ! MAX_W !visited[i]){q.push(i);visited[i] true;}} }}cout endl;levelSize q.size();}测试代码 void TestGraphFS(){string a[] { 张三, 李四, 王五, 赵六, 周七 };Graphstring, int g1(a, sizeof(a) / sizeof(string));g1.AddEdge(张三, 李四, 100);g1.AddEdge(张三, 王五, 200);g1.AddEdge(王五, 赵六, 30);g1.AddEdge(王五, 周七, 30);g1.BFS(张三);}1、DFS 深度优先。 不是从起始点开始走从连接起始点的一个点开始走上图的顺序就是ABCFDD不能到A就返回到FF还有边没走于是HI然后I没有可走的回到HH也没有可走的了一直回到BB还有E可走然后BEG再从G返回到。深度的话就是走递归但因为是图比较复杂层数多的话就不要深度了。 void _DFS(size_t srci, vectorbool visited){cout srci : _vertexs[srci] endl;visited[srci] true;//找一个srci相邻的没有访问过的点for (size_t i 0; i _vertexs.size(); i){if (_matrix[srci][i] ! MAX_W visited[i] false){_DFS(i, visited);}}}void DFS(const V src){size_t srci GetVertexIndex(src);vectorbool visited(_vertexs.size(), false);_DFS(srci, visited);}测试代码 void TestGraphFS(){string a[] { 张三, 李四, 王五, 赵六, 周七 };Graphstring, int g1(a, sizeof(a) / sizeof(string));g1.AddEdge(张三, 李四, 100);g1.AddEdge(张三, 王五, 200);g1.AddEdge(王五, 赵六, 30);g1.AddEdge(王五, 周七, 30);g1.DFS(张三);}用邻接矩阵的话如果是稠密图还好稀疏图就得循环更多没有值的地方。 如果图不是连通图那么两个搜索其实都会受影响会出现到了某个位置遍历断掉了。如何保证遍历所有的顶点解决办法就是遍历一次后再找后面有false的点以这个点作为起点再次开始循环就可以了。 本篇gitee 下一篇写最小生成树问题。 结束。
http://www.yutouwan.com/news/50845/

相关文章:

  • 抚州市做棋牌网站百度渠道开户哪里找
  • 企业网站app开发平台快速建立平台网站开发
  • 免费做网站手机广东中山市做网站
  • 品牌网站建设哪家公司好vis设计机构
  • dede网站怎么备份搜索引擎优化
  • ps做淘宝网站导航栏图书网站建设实训总结
  • 小企业网站建设地点在微信上怎么做网站
  • 河南网站托管优化长春建设公司网站
  • 电脑怎么做服务器 网站中国建筑招聘
  • 南山区住房和建设局官方网站温州seo优化排名公司
  • 什么网站可以自己做字word发布wordpress
  • 网站建设流程王晴儿做门户网站需要什么资质
  • 芜湖网站建设海长卷发背影图wordpress4.6.9
  • 平顺网站建设家用电脑当服务器建设网站
  • 白城做网站c 可以做网站吗
  • 安全生产门户网站建设大型网站建设基本流程
  • 为什么凡科网做的网站无法搜索珠海室内设计学校
  • 沈阳网站建设推广平台长沙seo网站优化
  • 福州建设招聘信息网站星光影视园网站建设案例
  • dnf怎么做盗号网站安福网站制作
  • 广东海外建设监理有限公司官方网站河北建设工程信息网登陆
  • 登陆不了建设银行网站上海建设工程学校
  • html5手机网站开发网站内容及功能模块设计
  • 网站页脚包括什么网站建设项目成本估算表
  • 规则网站建设芜湖有哪些知名企业
  • 金坛建设局招标网站建设银行的网站用户名是什么问题
  • 广州网站建设价格怎么建立网站数据库
  • 国外的技术社区郑州seo顾问热狗网
  • 温州编程网站企业建站流程
  • 怎么做帖子网站青海省公路工程建设总公司网站