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

整网站代码 带数据 免费 下载网站如何分页

整网站代码 带数据 免费 下载,网站如何分页,pp视频在线观看免费大全下载,360浏览器怎么加入可信站点适用性 当边的权值相等时,使用广度优先遍历,往往是求图(树)的最短路径最优方法 抽象理解 伪代码 建立队列 添加第一个起始点到队列,标记其不可访问 while(队列不为空)//开始循环{获取队列中的队首元素,获…

适用性

当边的权值相等时,使用广度优先遍历,往往是求图(树)的最短路径最优方法

抽象理解

伪代码

建立队列
添加第一个起始点到队列,标记其不可访问
while(队列不为空)//开始循环{获取队列中的队首元素,获取到后,让其出列,也就是删除for(遍历对首元素上下左右四个方向){将对首元素,可以访问的邻接点加入到队列将加入的点标记为不可访问记录加入的点的步数}}

重边,自环

先了解图中,重边和自环的概念

a节点有同方向指向b节点的两根边,就是重边

c节点有指向自己的边,就是自环

图中点的层次

给给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。

所有边的长度都是 1,点的编号为 1∼n

请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。

输入格式

第一行包含两个整数 nm

接下来 m 行,每行包含两个整数 ab,表示存在一条从 a 走到 b 的长度为 1 的边。

输出格式

输出一个整数,表示 1 号点到 ( n ) 号点的最短距离。

数据范围

1≤n,m≤105

输入样例:

4 5
1 2
1 2
2 3
2 3
3 4
1 3
1 4

输出样例:

1

解题

#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
const int N = 100010; 
int n,m,idx;
int e[N],ne[N],f[N];//f[i]记录从1到i需要多少步,默认-1,视为未到达
int h[N];//h[i]记录i节点所有可以走到的所有节点(单链表头结点)
int add(int a,int b){//a可以走到b,则在a为头的单链表中,添加be[idx] = b;ne[idx] = h[a];h[a] = idx;idx++;
}
int bfs(){queue<int> q;//创建队列f[1]=0;//初始点1走到点1需要0步q.push(1);//将1加入队列while(q.size()){//队列不为空,那么从1出发可以走到的所有点还没走完int t = q.front();//取出队列中头节点q.pop();//遍历t所有可以走到的相邻节点,也就是t为头的单链表for(int i=h[t];i!=-1;i=ne[i]){int j=e[i];//j是t的相邻节点if(f[j]==-1){//该相邻节点还未走过//将j加入队列,后续t的所有相邻节点都遍历完,t会变成jq.push(j);//后续遍历j的所有相邻节点,达到从1点出发,遍历全图效果f[j]=f[t]+1;//记录步数			}}}return f[n];
}
int main(){cin>>n>>m;int a,b;memset(f,-1,sizeof f);//未达到时都是-1步memset(h,-1,sizeof h);//初始化各节点邻接表,邻接表用单链表头存储,初始指向-1for(int i=0;i<m;i++){cin>>a>>b;add(a,b);    }cout<<bfs();return 0;
}
http://www.dtcms.com/wzjs/542409.html

相关文章:

  • 贵阳白云网站建设网站建设综合技能实训
  • 网站官网怎么做网上做任务的网站
  • 买卖平台有哪些网站我的世界服务器网站怎么做
  • 网站死链检测网站建设服务器百度云
  • 在家做网站或ps挣钱接活wordpress手机端顶部导航栏
  • 法律检索网站开发前端开发培训班多少钱
  • 信用网站建设意义seo去哪里学
  • 陵水网站建设哪家好在网站上发消息做宣传
  • 灵璧哪有做网站的做面包有哪些网站知乎
  • 做百度网站图片怎么做seo推广排名重要吗
  • 网站设计工资怎么样公司公共邮箱怎么申请
  • 网站建设 外包维普网论文收录查询
  • 做网站首页代码在线网站做图集相册
  • 公司网站建设需要什么资质金蝶二次开发
  • 品牌网站设计企业服务江苏省建设厅网站首页
  • 做wish选品参考什么网站南昌网站建设培训
  • 外贸网站建设论坛建立网站时间
  • 卷帘门怎么做网站购物网站常用的多组图左右轮播的js图片特效代码
  • dede微电影网站模板下载深泽网站制作
  • 烟台哪里做网站电子商务搭建平台
  • 个人网站导航html源码广州公关公司
  • 北京住房与建设部网站网站站做地图软件
  • 国外photoshop教程网站学校网站网页建设开题报告书
  • 有哪些网站可以做视频短视频营销的特点
  • 网站建设公司格wordpress iis支持
  • 企业网站建设珠海网站建设的现状和趋势
  • 定制网站开发平台简易动漫网站模板
  • 大连做网站的企业网站项目策划书实例
  • 农林牧渔行业网站建设html5做的网站
  • 长沙网站设计报价中国建筑企业排名