租房网站建设多少钱,微信公众号做头图的网站,甘肃门户网,制作微信公众的网站开发最小生成树算法
Prime算法 算法思路#xff1a;从已选顶点所关联的未选边中找出权重最小的边#xff0c;并且生成树不存在环。 其中#xff0c;已选顶点是构成最小生成树的结点#xff0c;未选边是不属于生成树中的边。 例子#xff1a; 第一步#xff1a; 假设我们从顶… 最小生成树算法
Prime算法 算法思路从已选顶点所关联的未选边中找出权重最小的边并且生成树不存在环。 其中已选顶点是构成最小生成树的结点未选边是不属于生成树中的边。 例子 第一步 假设我们从顶点v1开始所以我们可以发现v1,v3边的权重最小所以第一个输出的边就是v1—v31: 第二步 在v1,v3相关联的边中选一个权值最小的边首先了v1,v3已经访问过了所以我们从其他边中寻找发现(v3,v6)这条边最小所以输出边就是v3—-v64 然后我们要从v1、v3、v6这三个点相关联的边中寻找一条权重最小的边我们可以发现边(v6,v4)权重最小所以输出边就是v6—-v42. 然后我们就从v1、v3、v6、v4这四个顶点相关联的边中寻找权重最小的边发现边v3v2的权重最小所以输出边v3—–v25 然后我们就从v1、v3、v6、v4v2这2五个顶点相关联的边中寻找权重最小的边发现边v2v5的权重最小所以输出边v2—–v53 最后我们发现六个点都已经加入到集合U了我们的最小生成树建立完成。
Kruskal算法 算法思路 1将边按权值从小到大的顺序添加到新图中保证添加的过程中不会形成环 (2重复上一步直到连接所有顶点此时就生成了最小生成树。这是一种贪心策略。 (3) n个顶点n-1条边 例子
首先完整的图如下图 然后我们需要从这些边中找出权重最小的那条边可以发现边v1v3这条边的权重是最小的所以我们输出边v1—-v31 然后我们需要在剩余的边中再次寻找一条权重最小的边可以发现边v4v6这条边的权重最小所以输出边v4—v62 然后我们再次从剩余边中寻找权重最小的边发现边v2v5的权重最小所以可以输出边v2—-v53 然后我们使用同样的方式找出了权重最小的边v3v6所以我们输出边v3—-v64 好了现在我们还需要找出最后一条边就可以构造出一颗最小生成树但是这个时候我们有三个选择v1,V4v2v3v3v4,这三条边的权重都是5首先我们如果选v1v4的话得到的图如下 我们发现这肯定是不符合我们算法要求的因为它出现了一个环所以我们再使用第二个v2v3试试得到图形如下 我们发现这个图中没有环出现而且把所有的顶点都加入到了这颗树上了所以v2v3就是我们所需要的边所以最后一个输出的边就是v2—-v35 拓扑排序 首先建立n个顶点的AOV网 (1) 在AOV网络中选一个没有直接前驱的顶点入度为0的顶点并输出之 2从途中删去该顶点同时删去所有它发出的边 重复1和2直到全部顶点均已输出拓扑有序序列形成拓扑排序完成 若图中还有未输出的顶点但已跳出处理循环这说明图中存在环 AOV网络Activity On VertexNetwork 不能出现有向回路即有向环。在AOV网络中如果出现了有向环则意味着某项活动应以自己作为先决条件。 关键路径 最早最晚时间 1事件vk的最早发生时间ve(k)决定了所有从vk开始的活动能够开工的最早时间 2活动ai的最早开始时间e(i)指该活动弧的起点所表示的事件的最早发生时间 3事件vk的最迟发生时间vl(k)指在不推迟整个工程完成的前提下该事件最迟必须发生的时间 若一个活动的时间余量为0则说明该活动必须要如期完成d(i)0即l(i)e(i)的活动ai是关键活动由关键活动组成的路径就是关键路径。 步骤 1求所有事件的最早发生时间ve() 2求所有事件的最迟发生时间vl() 3求所有活动的最早发生事件e() 4求所有活动的最迟发生时间l() 5求所有活动的时间余量d() 6d(i)0的就是关键活动所有关键活动组成的路径即为关键路径。 ve(源点等于0vl(源点需要自己算 ve(汇点)vl(汇点) 需要自己算