![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法模板
qiusuo800
这个作者很懒,什么都没留下…
展开
-
Dijstra算法---普通版、优先队列优化版、堆优化版
假如你有一张地图,地图上给出了每一对相邻城市的距离,从一个地点到另外一个地点,如何找到一条最短的路?最短路算法要解决的就是这类问题。定义:给定一个有(无)向图,每一条边有一个权值 w,给定一个起始点 S 和终止点 T ,求从 S 出发走到 T 的权值最小路径,即为最短路径。最短路算法依赖一种性质:一条两顶点间的最短路径包含路径上其他最短路径。简单的说就是:最短路径的子路径是最短路径。这个用反证法很原创 2013-06-12 17:42:59 · 1661 阅读 · 0 评论 -
KMP算法
作用用于字符串匹配,是一种改进的方法原理KMP算法的关键是根据给定的模式串Pattern,定义一个next数组。next数组包含了模式串本身局部匹配的信息,即保存中间子字符串从字符串开头匹配的最长公共前缀信息。操作过程假设在模式匹配的进程中,执行S[i]和P[j]的匹配检查。若S[i]=P[j],则继续检查S[i+1]和P[j+1]是否匹配。若S[i]即执行j=next[j]操原创 2013-08-28 14:45:40 · 590 阅读 · 0 评论 -
《二分查找,你真的会吗?》---代码八问
1.网友代码二分查找或其扩展的问题及对应程序,内容如下:1)二分查找元素key的下标,如无 return -12)二分查找返回key(可能有重复)第一次出现的下标,如无return -13)二分查找返回key(可能有重复)最后一次出现的下标,如无return -14)二分查找返回刚好小于key的元素下标,如无return -15)二分查找返回刚好大于key的原创 2013-09-12 11:43:11 · 749 阅读 · 0 评论 -
单调栈
1.作用单调栈解决的是以某个值为最小(最大)值的最大区间2.实现原理求最小值(最大值)的最大区间,维护一个不存在相等条件的严格递增(严格递减)的栈,当遇到一个比栈顶小(大)的值的时候开始弹栈,弹栈停止的位置到这个值的区间即为此值左边的最大区间;同时,当一个值被弹掉的时候也就意味着比它更小(更大)的值来了,也可以在弹出的过程中计算被弹掉的值得右边的最大区间。3.复杂度貌似O(N)原创 2013-10-31 14:56:21 · 611 阅读 · 0 评论