算法
白天_吃饭
学生
展开
-
最小生成树——Kruskal算法
最小生成树之Kruskal算法 Kruskal算法描述 Kruskal算法是基于贪心的思想得到的。首先我们把所有的边按照权值先从小到大排列,接着按照顺序选取每条边,如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。至于怎么合并到一个集合,那么这里我们就可以用到一个工具——-并查集。换而言之,Kruskal算法就是基于并查集的贪心算法。 Kruskal算法流程 对于图G(V,E),以下是算法描述: 输入: 图G 输出: 图G的最小生成树 具体流程: (1)将图G看做一个森原创 2020-12-15 20:13:26 · 191 阅读 · 0 评论 -
分治法实验——二分查找
分治法实验——二分查找 一、分治法的基本步骤 分治法在每一层递归上都有三个步骤: 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题; 治理:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题; 合并:将各个子问题的解合并为原问题的解。 二、举例 有序数列:1,22,31,49,51,66,73,88,90查找88 (1) a0=[1],a1=[22], a2=[31],a3=[49],a4=[51],a5=[66], a6=[73],a7= [88],a8=[90], (2)原创 2020-12-15 20:02:45 · 849 阅读 · 0 评论