随笔分类 - 一些算法
摘要:均以 邻接矩阵方式存储数据,结构如下。 1 /** 2 * 图数据结构 3 */ 4 class MyGraph{ 5 public Node[] adjlist; 6 public int n,e; 7 } 8 /** 9 * 点的数据结构 10 */ 11 class Node{ 12 publ
阅读全文
摘要:解决有向带权图最短路径问题,选用迪杰斯特拉算法和普利姆算法。 迪杰斯特拉算法类似普利姆算法,也用到了贪心算法的思想,从局部最优解的全局最优解。是从确定的一点出发确定最小生成树。维护一个 path[] dist[] set[]。 弗洛伊德算法时间复杂度为O(n^3),可以获得任意一点到另一点的最小路径
阅读全文
摘要:普利姆算法和克鲁斯卡尔算法的思想可以归为贪心算法即:以每次局部最优解最后得全局最优解。 相同点: 都适用于无向图。 都是用了贪心思想 不同点: 普利姆算法是顶点优先,克鲁斯卡尔是边优先。二者应对不同情况效率不同。 普利姆算法平均时间复杂度为O(n^2),是顶点数的平方。 克鲁斯卡尔算法平均时间复杂度
阅读全文