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

网站建设基高职高专图书馆网站建设

网站建设基,高职高专图书馆网站建设,2345软件管家,最常用的网站开发工具全部代码 全部代码在github acwing 上 正在更新 https://github.com/stolendance/acwing 图论 欢迎大家star与fork 单源最短路问题 先用spfa算法 不行再换其他的 spfa-超级万能 说不定比dijsktra还快 dis[] 代表第k到某一点的最短距离 queue 代表刚被更新的点 它有可能更…全部代码 全部代码在github acwing 上 正在更新 https://github.com/stolendance/acwing 图论 欢迎大家star与fork 单源最短路问题 先用spfa算法 不行再换其他的 spfa-超级万能 说不定比dijsktra还快 dis[] 代表第k到某一点的最短距离 queue 代表刚被更新的点 它有可能更新其他路径 所以检查它的出边 isin代表该点是否在queue中 队列放入起点 -k while(队列不为空)取出队头遍历所有t的出边 t-wb如果dis[b]dis[t]w[t,b],更新,如果b不在队列中,加入btypedef long long ll; typedef pairll,ll pll; struct Edge {int next;int val;Edge(int next_,int val_):next(next_),val(val_){;} }; class Solution { public:int networkDelayTime(vectorvectorint times, int n, int k) {vectorvectorEdge graph(n1);for(auto item:times){int aitem[0];int bitem[1];int citem[2];graph[a].push_back(Edge(b,c));}vectorll dis(graph.size(),INT_MAX);vectorint isin(graph.size(),0);queueint ls;ls.push(k);dis[k]0;isin[k]1;while(ls.size()){int tls.front();ls.pop();isin[t]0;for(int i0;igraph[t].size();i){// k-t-idint distancegraph[t][i].val;int idgraph[t][i].next;if(dis[t]distancedis[id]){dis[id]dis[t]distance;if(isin[id]0){ls.push(id);isin[id]1;}}}}int rs *max_element(dis.begin()1,dis.end());if(rsINT_MAX) return -1;else return rs;} };朴素版dijsktra -单源最短路-所有边权重都是正数 基于 稠密图(邻接矩阵) s:当前已经确定最短路径距离的点 dis[0 ]0 dis[i]OO 只有起点被确定到了 for(i 1 …n) ​ t《- 不在s中的距离最近的点 ​ s〈-t ​ 用t更新其他点的距离(看下) dij实现的时候是通过 将距离设置成无穷大 来表达 不可达 dij 由于边很多, 稠密图 所以用邻接矩阵存即可 dij 需要找n个点 所以外层是一个for循环x 总结下来:1. 把未加入的最近的加进来2. 标记加入3. 根据加入的点更新距离#includeiostream #includevector using namespace std; #define INA INT_MAX //https://leetcode.cn/problems/network-delay-time/ int networkDelayTime(vectorvectorint times, int N, int k) {// 因为点的坐标是从1开始 , 所以开N1个// 直接在graph上更新 方便很多// graph要采用long long INT_MAX某个数 不会变成负数vectorvectorlong long graph(N1,vectorlong long(N1,INT_MAX));for(int i1;iN;i) graph[i][i]0;for(auto e:times) graph[e[0]][e[1]]e[2];vectorint vis(graph.size(),0);vis[k]1;// 只要找下除了起点的接下来的点for(int i1;igraph.size()-1;i){int minid0,minxINA;// 在没有使用过的检查最短的距离for(int j1;jgraph.size();j){if(vis[j]0graph[k][j]minx){minidj;minxgraph[k][j];}}vis[minid]1;// 更新// 根据这个点更新其他所有距离for(int j1;jgraph.size();j){graph[k][j]min(graph[k][j],graph[k][minid] graph[minid][j]);}}int ans0;for(int i1;i graph.size();i){if(graph[k][i]INT_MAX) return -1;ansmax(ans, (int)graph[k][i]);}return ans; } int main() {vectorvectorint times{{2,1,1},{2,3,1},{3,4,1}};int rsnetworkDelayTime(times,4,2);coutrsendl;}dijstra 稀疏图(邻接表) -我更喜欢的方式!!! 求点k到其他点的距离 与上面不同的情况是, 采用邻接表最小堆 最小堆 的格式是(点k到该点的距离,该点的id) dis[] 存储的是点k到达每个点的最短距离 st[] 存储的是否能确定点k到达每个点的距离while(队列不为空) {队列弹出一个如果该点确定了最短距离,就不管它 if(st[]) continue把弹出的这个点加入最短距离根据这个点进行扩展,遍历这个点指向其他点的边如果比div小,则更新距离加入队列中 }typedef long long ll; typedef pairll,ll pll; struct Edge {int next;int val;Edge(int next_,int val_):next(next_),val(val_){;} }; class Solution { public:int networkDelayTime(vectorvectorint times, int n, int k) {vectorvectorEdge graph(n1);for(auto item:times){int aitem[0];int bitem[1];int citem[2];graph[a].push_back(Edge(b,c));}vectorll dis(graph.size(),INT_MAX);vectorint st(graph.size(),0);priority_queuepll,vectorpll,greaterpll ls;ls.push(pll(0,k));dis[k]0;while(ls.size()){auto itemls.top();ls.pop();ll distanceitem.first;int iditem.second;// 保证未加入if(st[id]) continue;// 加入st[id]1;// 扩展更新for(int i0;igraph[id].size();i){// k-id-id2// distance distance2int id2graph[id][i].next;int distance2graph[id][i].val;if(distancedistance2dis[id2]){dis[id2]distancedistance2;// 加入队列ls.push(pll(dis[id2],id2));}}}int rs(int)*max_element(dis.begin()1,dis.end());if(rsINT_MAX) return -1;else return rs;} };
http://www.tj-hxxt.cn/news/232900.html

相关文章:

  • 网站建设文章缩略图网站建立与推广
  • 注册一个网站流程东莞网站seo价格
  • 北京装修设计师哪里找海南seo关键词
  • 智联招聘网站怎么做微招聘网站开发需求分析说明
  • 公司网站营销东三省网站建设公司
  • 郑州网站建设361网站开发包含网页设计吗
  • WordPress 站点图标链接天津建设工程信息网招投标正规吗
  • 南充市住房与城乡建设网站装修店铺设计
  • 桂林网站建设兼职手机网站cms系统
  • 自己怎么给网站做优化那种退不掉的网站怎么做的
  • 网站外链分析工具同城信息小程序源码
  • 网站开发费入什么费用建个企业网站一年需要多少钱
  • 东莞做网站哪里好wordpress页眉导航栏位置
  • 客户网站建设确认书用jsp做的网站源代码
  • 西安网站seo服务移动应用与开发是干什么的
  • 域名申请好了 怎么做网站2022电商平台用户排行榜
  • 驻马店网站建设维护平台网站
  • 网站制作app我想做代理商
  • 子网站如何做视频网站后台登陆
  • 网站建设包括哪些方面的费用flash属于网页制作平台吗
  • 成都网站建设需要多少钱深圳网站建设外贸公司
  • 流媒体网站开发教程机关网站内容建设工作总结
  • 成立网站要什么手续在一个城市做相亲网站
  • 网站建设解析制作网站首页教案
  • 1免费网站建站响应式网站设计的规范
  • 关于节约化建设网站的表态发言菜单设计制作网站
  • 门户网站建设谈判网站建设行业解决方案
  • 织梦网站怎么搬家南宁网站建设培训学校
  • 网站建设申请报告怎么写慈溪建设企业网站
  • 红旗渠建设集团有限公司网站平面设计素材免费网站有哪些