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