
算法小谈
文章平均质量分 87
阿阿阿阿_欢
勿忘初心
展开
-
KMP算法
转载自:http://blog.youkuaiyun.com/v_july_v/article/details/70418271. 引言 本文从暴力匹配算法讲起,随后阐述KMP的流程 步骤、next 数组的简单求解 递推原理 代码求解,接着基于next 数组匹配,谈到有限状态自动机,next 数组的优化,KMP的时间复杂度分析,最后简要介绍两个KMP的扩展算法。2转载 2015-03-12 18:11:45 · 378 阅读 · 0 评论 -
Dijkstra总结
在家闲来无事,就把Dijkstra算法总结了一下,顺便加强巩固,希望对大家有帮助,理解的不够全面,希望大神们多多指点。Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止(贪心的思想)。注意Dijkstra不能处理负权边。基本步骤:1,把所有的结点分成2个集合:集合一:包含已原创 2015-02-06 15:07:32 · 642 阅读 · 0 评论 -
sort的小用法
1.对int类型数组排序(只需用sort就行了 ,不用cmp函数)#include#includeusing namespace std;# define N 110000int a[N];int main (){ int i,t; scanf("%d",&t); while(t--) { for(i=0;i<10;i++) scanf("%d",&a[i]);原创 2015-03-10 22:35:18 · 630 阅读 · 0 评论 -
小谈并查集及其算法实现
并查集 一、算法介绍:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。 并查集的基本操作有两个:1:合并union(x, y):把元素 x 和元素 y 所在的集合合并,要求 x 和 y 所在的集合不相交,如果两个集合相交则不合并。2:查询find(x):找到元素 x 所在的集合的代表,该操作常用于判原创 2015-08-21 14:49:36 · 4439 阅读 · 0 评论