图的应用——最小生成树
最小生成树 求最小生成树 构造最小生成树的准则 贪心算法(Greedy Algorithm) Prim(普里姆)算法 算法思想 —— 归并顶点 算法设计 KrusKal(克鲁斯卡尔)算法 算法思想 —— 归并边 算法设计 Prim和KrusKal比较 最小生成树 生成树(极小连通子图):含有图中全部n个顶点,但只有n-1条边。并且n-1条边不能构成回路。 生成森林:非连通图每个连通分量的生成树一起组成非连通图的 生成森林 。 求最小生成树 使用不同的遍历图的方法,可以得到不同的生成树 从不同的顶点出发,也可能得到不同的生成树。 按照生成树的定义,n 个顶点的连通网络的生成树有 n 个顶点、n-1 条边。 在网的多个生成树中,寻找一个各边 权值之和最小的生成树 构造最小生成树的准则 必须只使用该 网中的边 来构造最小生成树; 必须使用且仅使用 n-1 条边来联结网络中的 n 个顶点 不能使用产生 回路 的边 贪心算法(Greedy Algorithm) 算法原理:以当前情况为基础作最优选择,而不考虑各种可能的整体情况,所以贪心法不要回溯。 算法优点:因为省去了为寻找解而穷尽所有可能所必须耗费的大量时间,因此算法效率高。 贪婪算法的精神就是“ 只顾如何获得眼前最大的利益 ”,有时不一定是最优解。 Prim(普里姆)算法 算法思想 —— 归并顶点 在图中任取一个 顶点K作为开始点 。