算法
文章平均质量分 74
Chahaha123
这个作者很懒,什么都没留下…
展开
-
算法的时间复杂度
时间复杂度度量程序的执行时间的方法:1). 事后统计:通过使用计算机内部的计时功能2). 事前估计:一个算法由控制结构(顺序,分支和循环)和原操作(对数据的操作)构成的,算法时间由二者的综合效果来决定。为了便于比较对同一问题的不同算法,时间度量通常由最深层循环内的原操作的重复执行次数决定。例子-最深层循环内的原操作:“val+1”。int n = 100;int val = 0;int t = 0;for(int i=0; i<n; i++){ t++; for(int j=0原创 2021-06-21 12:06:54 · 1951 阅读 · 0 评论 -
Dijkstra和Folyd算法(基于数据结构第二版)-Java实现
算法思路:Set S: 记录已经被访问过(被计算出最短路径)的节点(用HashSet实现,因为可以以O(1)的时间复杂度来查看一个节点是否被访问过)Map<Integer, List> path:path.get(i) -> 从源节点到第i个节点的最短路径(所经过的节点包含原节点和i节点)int[] dist: dist[i] -> 记录从源节点到第i个节点的最短路径的权值的和cost[i][j]: 如果i到j有边,值为边权值;若为只为10000(没有赋值为Integer.原创 2021-06-18 21:23:36 · 203 阅读 · 0 评论