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

网站建设seo策略关键词优化排名费用

网站建设seo策略,关键词优化排名费用,免费ps素材图片大全,wordpress调用2个表今天,解决了,多个点的最短路问题 用的dfs,配上了floyed计算出的广源距离 难点是要记录路线,dfs记录路线就很烦 但是好在结束了,经过无数的测试,确保没啥问题(应该把) 来看看我的代码 void dfs(int b[], int x, int* sum, int last, int sums, int a[], BFS& s, Floyd_A…

今天,解决了,多个点的最短路问题

用的dfs,配上了floyed计算出的广源距离

难点是要记录路线,dfs记录路线就很烦

但是好在结束了,经过无数的测试,确保没啥问题(应该把)

来看看我的代码


void dfs(int b[], int x, int* sum, int last, int sums, int a[], BFS& s, Floyd_AssistArray* fl) {if (x == s.size) {if (*sum > sums) {*sum = sums;printf("sun %d\n", *sum);for (int ko = 2;ko <= s.size;ko++) {b[ko] = a[ko];printf("ssssss\n");}}}else {for (int ko = 2;ko <= s.size;ko++) {if (s.map[s.mapr[ko]] == 0&&fl->Shortest[last][s.mapr[ko]]!=nocnect) {x++;printf("sss%d\n", x);sums += fl->Shortest[last][s.mapr[ko]];printf("sum%d\n", sums);s.map[s.mapr[ko]] == 1;a[x] = s.mapr[ko];dfs(b, x, sum, s.mapr[ko], sums, a, s, fl);a[x] = 0;sums-= fl->Shortest[last][s.mapr[ko]];s.map[s.mapr[ko]] == 0;x--;}}}}
//bfs,的算法,返回距离最短的,走法void findr(int i, int a[], AMGraph* f, Floyd_AssistArray* fl) {int b[11] = { 0 };b[1] = i;//起点int j = 1;for (int io = 1;io <= 10;io++) {if (a[io] != 0 &&io!=i) {j++;b[j] = io;}}for (int gh = 1;gh <= j;gh++) {printf("%d\n", b[gh]);}BFS s;for (int j = 1;j <= 10;j++) {s.map[j] = 0;s.mapr[j] = b[j];}s.map[i] = 1;//给起点标记s.mapr[1] = i;s.size = j;int sum = nocnect;int c[11] = { 0 };c[1] = i;dfs(b, 1, &sum, i, 0, c, s, fl);//print();
}
//处理信息

可以看到,bfs函数传的东西有点多

没办法,我来解释一下,b数组是返回答案的数组,sum是返回最短距离的最终答案

x是搜到了第几个数(第几个点),last是记录上个点,要的是两点之间的距离,所以要记录上个点

sums是记录距离和

a数组是记录点的

BFS 是提供dfs要的变量,比如标记的地图

和原来的点集以及有几个点

Floyd_AssistArray* fl  我们要的距离

typedef struct {int map[11];//打标记的int mapr[11];//记录点int size;//记录个数 
}BFS;
//dfs的辅助数组

辅助数组的核心内容

接下来就是界面

为了可以,直接点击输入点把界面又搞了一下

 

黑色代表景点,被选中了,也可以取消选中 

跑完bfs的数组就要开始回溯了路路径了

PathStack ph;ph.top = 0;for (int h = 1;h <= s.size;h++) {printf("%d\n", b[h]);}for (int jk = s.size;jk >= 2;jk--) {int k = 0;while (fl->PrePath[b[jk]][b[jk-1]] != b[jk - 1]) {Push(&ph, b[jk]);printf(" %d\n", b[jk]);k = 1;b[jk] = fl->PrePath[b[jk]][b[jk - 1]];}if (k == 0) {Push(&ph, b[jk]);printf(" %d\n", b[jk]);}

回溯到栈内,明天写了输出函数就可以用栈直接遍历了 

胜利就在眼前了呀!!现在811行

明天基本上得有1k了,但是还是写的很不好哎呀我是真的菜

以上代码(的bug全部测试完了,痛真的太痛了)

http://www.tj-hxxt.cn/news/59540.html

相关文章:

  • wordpress登录短信验证seo 视频
  • 一个工厂做网站有什么好处网站推广及seo方案
  • 投资融资理财网站模板重庆百度总代理
  • 网络物流平台廊坊关键词排名优化
  • 找人做效果土去那网站找营销方案100个软文
  • 武汉宠物网站建设广州百度提升优化
  • 果业局网站建设今天特大新闻最新消息
  • 江西建设监理协会网站自己创建一个网站需要多少钱
  • 网站开发回访话术网络营销策略案例
  • 网站开发设计进度表html网页制作案例
  • 社交网站是怎么做的建站模板
  • 用php做的网站必备那些文件百度权重提升
  • wordpress 数据库 nginx广州seo外包公司
  • 开源企业cms建站系统seo 推广教程
  • 织梦网如何把做网站的删掉seo技术培训广东
  • 针对餐饮公司推广做网站方法免费推广网站排名
  • 简述新建站点的步骤全国疫情最新名单
  • 搭建网站全套需要多少钱百度一下官方下载安装
  • 做网站什么主题好做关键词爱站网关键词挖掘工具
  • 商城网站开发项目文档网络营销培训课程
  • 建网站要买服务器吗全国疫情最新数据
  • 做网站要多长时间厦门百度推广排名优化
  • 什么公司需要做网站国家免费职业培训平台
  • 网站备案方法国内做seo最好的公司
  • 成都科技网站建设费罗湖区seo排名
  • 开公司需要注册多少资金培训行业seo整站优化
  • 专门做游戏交易的网站有哪些产品网络营销方案
  • 北京市朝阳区网站制作公司seo站长优化工具
  • 江西省九江市修水县最新疫情情况北京百度seo点击器
  • 厦门做网站最好的公司关键词优化怎么优化