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

在线网站免费网站入口怎么seo网站排名

在线网站免费网站入口,怎么seo网站排名,北京市城乡结合部建设领导小组办公室网站,受欢迎的免费建站图论part08 拓扑排序精讲 代码随想录讲解链接 题目链接 思路 在这个题目之中,个别文件的处理依赖于别的文件,因此,文件的处理顺序十分重要。我们用图来表示文件的处理顺序,文件s指向文件t,则说明如果要正确的处理文…

图论part08

拓扑排序精讲

代码随想录讲解链接
题目链接

在这里插入图片描述

思路

  • 在这个题目之中,个别文件的处理依赖于别的文件,因此,文件的处理顺序十分重要。
  • 我们用图来表示文件的处理顺序,文件s指向文件t,则说明如果要正确的处理文件t,那么就必须先处理文件s。换句话说,文件t所对应的入度为1,当我们处理好文件s之后,文件t的入度就变成0,于是就可以处理文件t了。
  • 同理,当我们将文件t处理之后,文件t指向的下一个文件x也就可以正常处理了(x入度为0),以此类推,最终根据结果集之中的文件个数可以正确的判断是否能够成功处理。
import java.util.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int N = sc.nextInt();int M = sc.nextInt();// 构建图从而记录文件之间的依赖关系List<List<Integer>> umap = new ArrayList<>();// 记录每个文件的入度int[] inDegree = new int[N];for(int i = 0 ; i < N ; i++)umap.add(new ArrayList<>());// 填充边的关系for(int i = 0 ; i < M ; i++){int s = sc.nextInt();int t = sc.nextInt();umap.get(s).add(t); //表示s指向tinDegree[t] ++; //由于s指向t,所以t的入度加一}Queue<Integer> queue = new LinkedList<>();// 找出所有节点之中入度为0的节点for(int i = 0 ; i < N ; i++){if(inDegree[i] == 0){queue.add(i);}}List<Integer> result = new ArrayList<>();// 拓扑排序流程while(!queue.isEmpty()){int cur = queue.poll();result.add(cur);// 上面将节点cur加入到结果集之后,cur指向的所有节点的入度都应该减1for(int nextNode : umap.get(cur)){inDegree[nextNode] --;// 当某个节点的入度为0的时候,将其添加到队列之中if(inDegree[nextNode] == 0){queue.add(nextNode);}}}// 在这里如果结果集之中的记录个数等于文件个数,则证明这些文件可以正常处理。// 若果结果集之中的记录个数小于文件个数,这证明这些文件的依赖一定存在环。if(result.size() == N){for(int i = 0 ; i < N - 1 ; i++){System.out.print(result.get(i)+" ");}System.out.print(result.get(N - 1 ));}else{System.out.println(-1);}}
}

dijkstra(朴素版)精讲

代码随想录链接
题目链接
在这里插入图片描述
在这里插入图片描述

import java.util.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int[][] graph = new int[n+1][n+1];for(int i = 0 ; i <= n ; i++)Arrays.fill(graph[i],Integer.MAX_VALUE);for(int i = 0 ; i < m ; i++){int s = sc.nextInt();int t = sc.nextInt();int val = sc.nextInt();graph[s][t] = val;}int start = 1;int end = n;// 存储原点到每个节点的最短距离int[] minDis = new int[n + 1];Arrays.fill(minDis,Integer.MAX_VALUE);// 判断当前的节点是否已经被访问过boolean[] visted = new boolean[n+1];// 原点到自身的距离为0minDis[start] = 0;for(int i = 1 ; i <= n ; i++){// 初始化用于记录的最小值和当前节点int minVal = Integer.MAX_VALUE;int cur = 1;// 寻找val最小的边for(int v = 1 ; v <= n ; v++){if(!visted[v] && minDis[v] < minVal){cur = v;minVal = minDis[v];}}visted[cur] = true;// 更新minDis数组for(int v = 1 ; v <= n ; v++ ){if(!visted[v] && graph[cur][v] != Integer.MAX_VALUE && minDis[cur] + graph[cur][v] < minDis[v] ){minDis[v] = minDis[cur] + graph[cur][v];}}}if (minDis[end] == Integer.MAX_VALUE) {System.out.println(-1); // 不能到达终点} else {System.out.println(minDis[end]); // 到达终点最短路径}}
}
http://www.dtcms.com/wzjs/9920.html

相关文章:

  • 昆明企业网站的建设下载一个百度导航
  • 网站定制设计价目表百度关键词规划师入口
  • 做区块链网站需要注意哪些市场营销推广方案
  • 用哪个语言做网站比较好网络营销专业
  • jq 网站模板谷歌浏览器下载手机版最新版
  • 装饰网站建设策划书深圳网络营销全网推广
  • 做网站的设计公司站长联盟
  • 梦幻创意网站建设网站建设公司
  • 算命网站怎么做哪个公司网站设计好
  • 做网站必须要有服务器吗免费的舆情网站入口在哪
  • 做正规小说网站软件开发公司排名
  • 新余市建设厅网站免费网络推广网站
  • 做网站主机电脑谷歌平台推广外贸
  • 汕头高端模板建站网络推广平台有哪些公司
  • 红河网站建设百度收录比较好的网站
  • 网站制作联盟今日广州新闻最新消息
  • 网站怎么做要多少钱营销推广方式有哪些
  • wordpress创建滑块页面seo优化
  • 台州网站建设费用现在做推广的新渠道有哪些
  • 国外手机设计网站推荐seo诊断站长
  • 建个购物网站要多少钱网坛最新排名
  • 阿里云esc 可以做几个网站上海网优化seo公司
  • 苍梧县网站建设兰州疫情最新情况
  • 有关建设网站的论文南宁seo专员
  • 做调研的网站有哪些seo排名优化公司价格
  • 上海城隍庙小吃推荐百度关键词优化推广
  • 金华城乡建设网站现在什么app引流效果好
  • 做网站大约多少钱同城推广引流平台
  • cpa推广做网站seo优化中商品权重主要由什么决定
  • 中学生做的网站有哪些企业整站优化