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

网站关键词优化有用吗小程序开发平台需要多少钱

网站关键词优化有用吗,小程序开发平台需要多少钱,怎么做一个网址链接,英雄联盟最新赛事Day58–图论–117. 软件构建(卡码网),47. 参加科学大会(卡码网) 今天主要学习:拓扑排序,和最短路算法之Dijkstra 拓扑排序:给出一个有向图,把这个有向图转成线性的排序就…

Day58–图论–117. 软件构建(卡码网),47. 参加科学大会(卡码网)

今天主要学习:拓扑排序,和最短路算法之Dijkstra

拓扑排序:给出一个有向图,把这个有向图转成线性的排序就叫拓扑排序也是图论中判断有向无环图的常用方法

Dijkstra:和Prim是一个模具里面刻出来的。

117. 软件构建(卡码网)

方法:拓扑排序

思路:

  1. 记录每个节点的入度
  2. 添加入度为零的节点入队
  3. 把这个节点从图中删除(这题,把这个节点的to所在节点的入度减一就好)
  4. 如果再有入度为零的节点,再入队,再删除。
  5. 直到队列为空,且节点已经处理完。否则就是存在环。
import java.util.*;public class Main {public static void main(String[] args) {// 录入数据Scanner in = new Scanner(System.in);int n = in.nextInt();int m = in.nextInt();// 记录每个节点的入度int[] inDegree = new int[n];// 记录每一条边int[][] edges = new int[m][2];// 录入边,并记录每个节点的入度for (int i = 0; i < m; i++) {edges[i][0] = in.nextInt();edges[i][1] = in.nextInt();inDegree[edges[i][1]]++;}// 队列,添加入度为0的节点Deque<Integer> que = new ArrayDeque<>();for (int i = 0; i < n; i++) {if (inDegree[i] == 0) {que.offer(i);}}// 结果集List<Integer> res = new ArrayList<>();// 处理入度为0的节点while (!que.isEmpty()) {int node = que.poll();// 加入结果集res.add(node);// 把这个节点从图中删掉,其实就是去边集中,找到以这个节点为from起点的边,把它们的to终点的入度减一for (int i = 0; i < m; i++) {if (edges[i][0] == node) {inDegree[edges[i][1]]--;// 如果入度减一为零,那么这个节点也入队if (inDegree[edges[i][1]] == 0) {que.offer(edges[i][1]);}}}}// 如果队列已经空了,还没有处理完所有文件的话,那就是有环if (que.isEmpty() && res.size() != n) {System.out.println(-1);return;}// 打印输出System.out.print(res.get(0));for (int i = 1; i < n; i++) {System.out.print(" " + res.get(i));}}
}

47. 参加科学大会(卡码网)

方法:dijkstra

思路:

和Prim算法,差不多是一个模具里面刻出来的。

都是以“点”为中心,都需要visited数组标记,都需要minDist记录距离。连步骤都一样。

唯一的区别是:minDist[j] = minDist[cur] + grid[cur][j];,这里是累加和,Prim是只用记录grid[cur][j]

重复一下三个步骤:

  1. 第一步,选源点到哪个节点近且该节点未被访问过
  2. 第二步,该最近节点被标记访问过
  3. 第三步,更新非访问节点到源点的距离(即更新minDist数组)
import java.util.*;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int m = in.nextInt();int[][] grid = new int[n + 1][n + 1];for (int i = 0; i <= n; i++) {Arrays.fill(grid[i], Integer.MAX_VALUE);}for (int i = 0; i < m; i++) {int from = in.nextInt();int to = in.nextInt();int val = in.nextInt();grid[from][to] = val;}int start = 1;int end = n;int[] minDist = new int[n + 1];Arrays.fill(minDist, Integer.MAX_VALUE);boolean[] visited = new boolean[n + 1];minDist[start] = 0;for (int i = 1; i <= n; i++) {int minVal = Integer.MAX_VALUE;int cur = 1;for (int j = 1; j <= n; j++) {if (!visited[j] && minDist[j] < minVal) {minVal = minDist[j];cur = j;}}visited[cur] = true;for (int j = 1; j <= n; j++) {if (!visited[j]&& grid[cur][j] != Integer.MAX_VALUE&& minDist[cur] != Integer.MAX_VALUE&& minDist[cur] + grid[cur][j] < minDist[j]) {minDist[j] = minDist[cur] + grid[cur][j];}}}if (minDist[end] == Integer.MAX_VALUE) {System.out.println(-1);} else {System.out.println(minDist[end]);}}
}
http://www.dtcms.com/a/408325.html

相关文章:

  • 三亚房产网站开发安徽seo网站推广
  • 个人网站建设怎么赚钱佛山专业做网站公司哪家好
  • 做网站要怎么备案教育网站建设方案
  • Zabbix7.4.8(四):通过 SNMP 监控打印机
  • 怎么自己做网站空间工程合同模板
  • 海康域名网站上海十大知名装修公司
  • 黄圃网站建设做网站找模版好吗
  • 做网站图片路径做缓存吗网站建设包括哪些
  • 腾讯风铃怎么做网站怎么建设只要注册就赚钱的网站
  • 滨州做网站的杭州网站优化效果
  • 投资网站建设公司多少钱自贡网站推广
  • 上海建设网站浦东新区污水管网工程域名注册服务商网站
  • 荥阳市网站建设wordpress新建的页面不存在
  • 浦口区教育局网站集约化建设优化推广服务商
  • sched_ext调度器task stall分析
  • 公司网站销售怎么做的珠宝首饰网站建设规划书
  • 湖州外贸网站建设信誉好的盐城网站开发
  • 小白怎么做网站赚钱自己做网站怎么做的
  • 网站里弹窗怎么做简历模板免费下载word 文档
  • 网站技术培训班有哪些种类现货平台在中国合法吗
  • 找it工作有什么好的招聘网站做网站销售需要注意的
  • 天安节能科技园公司做网站有ip怎么用自己的主机做网站
  • 企业网站要怎么做企业员工管理系统
  • 外贸建网站哪家好网站怎么做json数据
  • 基于51单片机的气压检测及远程报警系统
  • 论前端对网站建设的重要性搜索引擎营销案例
  • 企业局域网站建设模板宁波seo外包服务商
  • 模板网站源码书店网站建设的设计报告
  • K8s中的键值对
  • 网站备案的核验单网站备案不能访问