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

网站如何做营销安卓系统优化软件

网站如何做营销,安卓系统优化软件,二维码的网站如何做,国外做ppt网站迪杰斯特拉算法通常用在图的最短路径问题上 而迷宫的最短路径可以用BFS来做,虽然BFS不能用于带权值的迷宫,但是可以对BFS稍微改进,只需要把判断是否走过的数组改为最短路径的数组,在判断是否可走时判断是否比最短的小即可 Dijks…

迪杰斯特拉算法通常用在图的最短路径问题上

而迷宫的最短路径可以用BFS来做,虽然BFS不能用于带权值的迷宫,但是可以对BFS稍微改进,只需要把判断是否走过的数组改为最短路径的数组,在判断是否可走时判断是否比最短的小即可

Dijkstra步骤如下:

1,初始化一个graph二维数组来存储图的邻接表,一个dis一维数组来存储最短路径,一个check来存储是否走过

2,从起点开始,将起点的路径设置为0,也就是disp[起点] = 0

3,进入循环,每次寻找dis中最小的节点,然后遍历邻接表,如果邻接表的距离+该点的dis < dis[循环到的点],那么就迭代循环到的点,最后将最小的那个点check设置为true

while(!end()){//寻找最小的点int min = max_num,min_num = max_num;for(int i = 1;i <= ::max;++i){if(dis[i] < min_num && !check[i]){min = i;min_num = dis[i];}}//从邻接表中寻找这个点可到达的点,并迭代可到达的点的距离for(int i = 1;i <= ::max;++i){if(graph[min][i] != max_num){if(dis[i] > dis[min] + graph[min][i]){dis[i] = dis[min] + graph[min][i];//经过最小的那个点到达这个点的距离为dis[min] + graph[min][i]}}}//将最小的那个点标记check[min] = true;}

4,循环直到所有check都为true即可

也可以直接写一个函数判断

//这里写了一个函数判断是否都被标记
bool end()
{for(int i = 1;i <= ::max;++i){if(!check[i]){return false;}}return true;
}

 c++代码如下

#include <bits/stdc++.h>#define max_num 9999
using namespace std;int graph[max_num][max_num];//邻接表,存储图
int dis[max_num];//存储最短路径
bool check[max_num];//存储是否被标记
int max;//存储最大节点//这里写了一个函数判断是否都被标记
bool end()
{for(int i = 1;i <= ::max;++i){if(!check[i]){return false;}}return true;
}void dijkstra(int e)
{while(!end()){//寻找最小的点int min = max_num,min_num = max_num;for(int i = 1;i <= ::max;++i){if(dis[i] < min_num && !check[i]){min = i;min_num = dis[i];}}//从邻接表中寻找这个点可到达的点,并迭代可到达的点的距离for(int i = 1;i <= ::max;++i){if(graph[min][i] != max_num){if(dis[i] > dis[min] + graph[min][i]){dis[i] = dis[min] + graph[min][i];//经过最小的那个点到达这个点的距离为dis[min] + graph[min][i]}}}//将最小的那个点标记check[min] = true;}
}int main()
{//初始化,memset不可以用INT_MAX赋值,因为INT_MAX为无符号数最大值为1111111111111111,而memset会将其转换为有符号数的补码也就是-1memset(dis,max_num,sizeof(dis));memset(check, false,sizeof(check));memset(graph,max_num,sizeof(graph));int n;cin >> n >> ::max;int times = n;while(times--){int x,y,z;cin >> x >> y >> z;graph[x][y] = z;graph[y][x] = z;}#if 0//输出邻接表for(int i = 0;i <= ::max;++i){for(int j = 0;j <= ::max;++j){printf("%5d ",graph[i][j]);}cout << endl;}
#endif//起点启动int start;cin >> start;dis[start] = 0;dijkstra(start);//输出每个点到起点的最短路径for(int i = 1;i <= ::max;++i){cout << i << " : " << dis[i] << endl;}
}
/*
10 7
1 3 2
1 2 5
2 4 9
3 4 3
3 6 2
4 6 4
4 5 8
5 6 9
5 7 3
6 2 7
1
*/

http://www.ds6.com.cn/news/65810.html

相关文章:

  • 福田欧曼官网鹤壁seo推广
  • 信阳网站开发网站策划方案范文
  • 为诈骗团伙做网站网络推广公司加盟
  • 在线模版下载网站站长之家seo综合查询
  • 微网站是用什么开发的广告联盟平台入口
  • 做系统网站信息检索网站百度云资源链接分享群组
  • 福州网站怎么做百度竞价网站
  • 中原区网站建设网络公司网络营销推广方案
  • 大理州建设局投诉网站郑州网站推广技术
  • 商务网站开发论文北京营销型网站
  • 杭州建设工程交易平台宁波seo排名外包公司
  • 如果用别人公司信息做网站佛山做seo推广公司
  • 企业做营销型网站手机网站建设平台
  • 网站主体信息百度网盘资源免费搜索引擎入口
  • 自己建服务器做网站违法深圳网络营销外包公司推荐
  • 网站外推和优化石家庄新闻网头条新闻
  • 哪个网站查公司信息比较准网站seo优化运营
  • 备案个人网站做淘宝客营销策略分析包括哪些内容
  • 网站有什么宁波seo快速排名
  • 福州网站建设企业哪家好?网络营销的成功案例
  • 设计网站 常用百度一下首页极简版
  • 做外贸网站有哪些seo关键词排名优化哪好
  • 网站备案用的方案建设百度快速排名案例
  • 男女做暖暖试看网站网站seo分析报告
  • 如何与老板谈网站建设网络营销优化培训
  • 有什么做视频的素材网站关键词规划师
  • 罗湖网站建设的公司搜索百度网址网页
  • 建设网上银行app下载安装百度seo排名点击器app
  • 电商网站开发报告阿里域名购买网站
  • 怎么做和京东一样网站亚洲精华国产精华液的护肤功效