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

网站建设简称什么中小学校园网站开发技术

网站建设简称什么,中小学校园网站开发技术,在哪里购买游戏源码,做网站首页图片介绍 全称Bellman-Ford算法#xff0c;目的是求解有负权边的最短路径问题。 考虑环#xff0c;根据环中边的边权之和的正负#xff0c;将环分为零环、正环、负环。其中零环、正环不会影响最短路径的求解#xff0c;而负环会影响最短路径的求解。 可用BF算法返回一个bool值…介绍 全称Bellman-Ford算法目的是求解有负权边的最短路径问题。 考虑环根据环中边的边权之和的正负将环分为零环、正环、负环。其中零环、正环不会影响最短路径的求解而负环会影响最短路径的求解。 可用BF算法返回一个bool值来判断是否有负环如果有返回false,否则返回true. bool BF(int b){fill(path,pathmaxn,INF);path[b]0;//求最短距离for(int i0;in-1;i){//比较趟数for(int j0;jn;j){//遍历每一个顶点相关的邻接边for(int k0;ktable[j].size();k){int vtable[j][k].v;int valuetable[j][k].value;if(path[j]valuepath[v]){//此时path[v]应该是最小距离path[v]path[j]value;}}}//判断是否有负环有返回false,无返回truefor(int m0;mn;m){//再次遍历边时for(int k0;ktable[m].size();k){int vtable[m][k].v;int valuetable[m][k].value;if(path[m]valuepath[v])//还能找到有比path[v]更小的距离return false;//说明有负环存在}}return true;//否则无负环} }设计思想 将求最短路径看作是求以源点为根结点的一棵最短路径树此时图与起点均确定因此最短路径树也就确定了且最短路径树的层数一定不超过顶点个数V即树中两顶点的比较更新次数不超过V-1轮。 实现 由于用邻接矩阵遍历边时复杂度会达到O(V的3次方)因此我们使用邻接表去实现 应用 由于求最短路径条数时BF算法会重复遍历相同的顶点因此在有多条最短路径数时最短路径条数的累加会出错。于是我们想到用set容器记录前驱结点通过遍历去重后的前驱结点进行累加。 set容器的介绍 #include iostream #include vector #include set #include algorithm using namespace std; const int maxn100; const int INF1000000000; struct node{int v;//邻接顶点int value;//对应边权//通过构造函数实现定义同时初始化node(int a,int b):v(a),value(b){} }; vectornode table[maxn]; int n,edge,st,ed,weight[maxn];int path[maxn],num[maxn],w[maxn]; setint pre[maxn];//记录前驱以便去重void BF(int b){fill(path,pathmaxn,INF);memset(num,0,sizeof(num));memset(w,0,sizeof(w));path[b]0;w[b]weight[b];num[b]1;for(int i0;in-1;i){for(int j0;jn;j){for(int k0;ktable[j].size();k){//记录int vtable[j][k].v;int valuetable[j][k].value;if(path[j]valuepath[v]){path[v]path[j]value;w[v]w[j]weight[v];num[v]num[j];//小于覆盖pre[v].clear();//清空pre[v].insert(j);//记录最短路径前驱}else if(path[j]valuepath[v]){if(w[v]w[j]weight[v])w[v]w[j]weight[v];pre[v].insert(j);//继续记录num[v]0;//防止重复计数清空//重新累加计数:通过遍历前驱结点实现for( setint::iterator itpre[v].begin();it!pre[v].end();it)num[v]num[*it];//*itpre[j][k],即k的前驱}}}}}int main(){int v1,v2,weigh;cinnedgested;for(int i0;in;i)cinweight[i];for(int j0;jedge;j){//构建邻接表cinv1v2weigh;table[v2].push_back(node(v1,weigh));table[v1].push_back(node(v2,weigh));}BF(st);coutnum[ed] w[ed]endl;return 0; }
http://www.pierceye.com/news/245972/

相关文章:

  • 杭州做购物网站第一次跑业务怎么找客户
  • 做软件好还是做网站好建筑公司年度工作总结报告
  • 陕西建设 节水 官方网站论坛怎样发帖推广
  • 二合一收款码免费制作网站营销型网站代理
  • 网站建设的技术方案模板淘宝客做网站链接
  • 梅州市网站制作页面简洁的导航网站
  • 绵阳房产网站建设自学广告设计该怎么入手
  • 火星wap建站宏大建设集团有限公司网站
  • 免费搭建业网站西地那非片有延时效果吗
  • 网站制作 手机用c 做的网站怎么打开
  • 常见的企业网站有哪些佛山网站建设优化制作公司
  • 品牌网站建设 蝌蚪5小wordpress 链接修改
  • 江苏省建设通官方网站网站开发全程实例
  • 网络推广和网站推广wordpress主题如何用
  • 多语言网站 自助网站建设的功能有哪些方面
  • mysql 收费 网站建设四川省建筑公司
  • 装修网站横幅怎么做优化方案英语
  • 网站建设数据库实验心得怎么做移动端网站
  • 网站建设开发服务费记账计算机应用技术培训班
  • 广渠路网站建设优易建站终身用沧州响应式网站开发
  • 网站流量统计查询南宁百度seo建议
  • 东莞做网站制作建筑公司图片
  • 浏阳市网站建设登录注册网站怎么做
  • 聊城手机网站建设电话网站开发需要哪些
  • 学做网站要学什么东西wordpress 分页地址
  • 淘宝客网站建设要注意什么windows系统没有wordpress
  • 产看网站权重运维难还是开发难
  • 芜湖中凡网站建设公司中国建设工程招投网站
  • 手机网站开发+图库类13岁开网络科技公司
  • 网站上的产品板块广州展厅设计公司有哪些