
算法
文章平均质量分 69
lzy我就来随便逛逛
纵浪大化中,不喜亦不惧
展开
-
归并排序
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以理解为就是递...原创 2018-10-03 18:11:22 · 188 阅读 · 0 评论 -
prim 算法 c++实现
1.概述 设G =(V,E)是无向连通带权图,即一个网络。E中每条边(v,w)的权为c[v][w]。如果G的子图G’是一棵包含G的所有顶点的树,则称G’为G的生成树。生成树上各边权的总和称为该生成树的耗费。在G的所有生成树中,耗费最小的生成树称为G的最小生成树。 网络的最小生成树在实际中有广泛应用。例如,在设计通信网络时,用图的顶点表示城市,用边(v,w)的权c[v][w]表示建...转载 2018-10-28 11:36:33 · 6953 阅读 · 0 评论 -
kruskal 算法 c++实现
Kruskal是另一个计算最小生成树的算法,其算法原理如下。首先,将每个顶点放入其自身的数据集合中。然后,按照权值的升序来选择边。当选择每条边时,判断定义边的顶点是否在不同的数据集中。如果是,将此边插入最小生成树的集合中,同时,将集合中包含每个顶点的联合体取出,如果不是,就移动到下一条边。重复这个过程直到所有的边都探查过。 struct Node //作为数据结构存储图 { ...原创 2018-10-28 12:38:18 · 3624 阅读 · 5 评论 -
KMP算法 c++
我不认为以我乏力的描述能讲清楚KMP算法,所以我在这里推荐两个大佬写的博客,以供我自己遗忘时再次复习。 NEXT数组的理解: https://blog.youkuaiyun.com/lee18254290736/article/details/77278769 作者:JensLee KMP算法总体思想: http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%...原创 2018-11-04 17:29:36 · 210 阅读 · 0 评论