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

风中有朵雨做的云电影网站网页广告培训班

风中有朵雨做的云电影网站,网页广告培训班,网站建设买了服务器后怎么做,三合一网站有必要吗实验三 贪心算法 迪杰斯特拉的贪心算法实现 优先队列等 1.实验目的 1、掌握贪心算法的基本要素 #xff1a;最优子结构性质和贪心选择性质 2、应用优先队列求单源顶点的最短路径Dijkstra算法#xff0c;掌握贪心算法。 2.实验环境 Java 3.问题描述 给定带权有向图G (V…实验三  贪心算法 迪杰斯特拉的贪心算法实现 优先队列等 1.实验目的 1、掌握贪心算法的基本要素 最优子结构性质和贪心选择性质 2、应用优先队列求单源顶点的最短路径Dijkstra算法掌握贪心算法。 2.实验环境 Java 3.问题描述 给定带权有向图G (V,E)其中每条边的权是非负实数。另外还给定V中的一个顶点称为源。现在要计算从源到所有其它各顶点的最短路长度。这里路的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。 4.复杂度分析 Dijkstra算法的时间复杂度为O((mn)logn)其中m是边的数量n是顶点的数量。 5.代码实现 package shiyan3_3;import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.PriorityQueue; import java.util.stream.Collectors;public class DijkstraAlgorithm {public static void main(String[] args) throws IOException {runDijkstraAlgorithm(input.txt, output.txt);}private static class Result {int dist;ListInteger path;public Result(int dist, ListInteger path) {this.dist dist;this.path path;}}public static void runDijkstraAlgorithm(String inputFile, String outputFile) throws IOException {BufferedReader reader new BufferedReader(new FileReader(inputFile));String[] input reader.readLine().split( );int n Integer.parseInt(input[0]);int m Integer.parseInt(input[1]);ListEdge[] graph new List[n 1];for (int i 1; i n; i) {graph[i] new ArrayList();}for (int i 0; i m; i) {input reader.readLine().split( );int u Integer.parseInt(input[0]);int v Integer.parseInt(input[1]);int w Integer.parseInt(input[2]);graph[u].add(new Edge(v, w));}reader.close();int s 1;Result[] results new Result[n 1];PriorityQueueNode pq new PriorityQueue();for (int i 1; i n; i) {if (i s) continue;int[] dist new int[n 1];int[] pre new int[n 1];Arrays.fill(dist, Integer.MAX_VALUE);Arrays.fill(pre, -1);dist[s] 0;pq.offer(new Node(s, 0));while (!pq.isEmpty()) {Node curr pq.poll();if (curr.dist ! dist[curr.u]) continue;for (Edge edge : graph[curr.u]) {int v edge.v;int weight edge.weight;if (dist[v] dist[curr.u] weight) {dist[v] dist[curr.u] weight;pre[v] curr.u;pq.offer(new Node(v, dist[v]));}}}ListInteger path new ArrayList();if (pre[i] ! -1) getPath(i, pre, path);if (path.size() 0) path.add(0, s);results[i] new Result(dist[i], path);}PrintWriter writer new PrintWriter(new FileWriter(outputFile));writer.println(起点\t终点\t最短路径\t\t\t最短路径长度);for (int i 1; i n; i) {if (i s) continue;String res s \t i \t;if (results[i] null || results[i].path.size() 0) {res NA\t\t\tNA;} else {String path results[i].path.stream().map(Object::toString).collect(Collectors.joining(-));int padding 32 - path.length();if (padding 0) path String.format(% padding s, );res path \t results[i].dist;}writer.println(res);}writer.close();System.out.println(输出成功);}private static void getPath(int u, int[] pre, ListInteger path) {if (u -1) return;getPath(pre[u], pre, path);path.add(u);}private static class Node implements ComparableNode {int u;int dist;public Node(int u, int dist) {this.u u;this.dist dist;}Overridepublic int compareTo(Node other) {return Integer.compare(this.dist, other.dist);}}private static class Edge {int v;int weight;public Edge(int v, int weight) {this.v v;this.weight weight;}} }输入  运行 输出
http://www.zqtcl.cn/news/601682/

相关文章:

  • 网站建设需要什么硬件和软件有哪些中考网络应用服务平台
  • 为什么网站权重会掉房地产开发网站建设
  • 大连seo整站优化酷播wordpress视频插件
  • 好的网页设计网站学编程要什么学历
  • 做网站公司电话福建城乡建设网站查询
  • 郑州做网站哪个公司好做二手市场类型的网站名字
  • 网站建设与维护里面的个人简历选择网站建设公司好
  • 济南浩辰网站建设公司怎么样wordpress 3.8 问题
  • 柳州正规网站制作公司网站ww正能量
  • 网站seo优化工具网站推广策略方法
  • 企业网站建设知名wordpress 自定义php
  • 用php做的网站有哪些全能网站建设
  • 网站显示正在建设中wordpress 排行榜 页面
  • 手机管理网站网站打开速度优化
  • 做微网站需要什么做的比较好的美食网站有哪些
  • 五金商城网站建设注意wordpress虚拟空
  • 成都工程网站建设网站界面设计的优点
  • 网站建设里的知识找别人做公司网站第一步做什么
  • 婚纱摄影网站模板之家专业seo网站优化公司
  • 商丘市住房和城乡建设局网站广西网站建设timkee
  • php网站开发是做什么的网站策划总结
  • 站长工具seo推广秒收录WordPress注册插件中文
  • 目前个人网站做地最好是哪几家做汽配网站需要多少钱
  • php做网站多少钱网络营销推广方案3篇
  • 浙江坤宇建设有限公司 网站省直部门门户网站建设
  • 直播类网站怎么做上海市建设质量协会网站
  • 筑巢做网站怎么样网站设计接单
  • 会ps的如何做网站wordpress 仿虎嗅
  • 免费响应式网站建设嘉兴建企业网站
  • 织梦网站首页幻灯片不显示建设银行网站特色