算法
清塘荷韵_kathy
打不死的小强
展开
-
二分查找
二分查找算法:是一种在有序数组中查找某一特定元素的搜索算法。二分查找思想:搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组 为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο...原创 2018-05-30 15:09:25 · 184 阅读 · 0 评论 -
KMP算法--整理
网上很多的博客内容都大同小异,在此我仅列出几个在学习过程中很有帮助的博客。http://jakeboxer.com/blog/2009/12/13/the-knuth-morris-pratt-algorithm-in-my-own-words/ 对于next数组的求解,详细易懂,但与通用的求法略有不同(通用求法中,next[0]=-1, next[1]=0).https://blog....原创 2018-07-25 11:44:04 · 129 阅读 · 0 评论 -
八大排序算法的简单整理
插入排序直接插入排序插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,直到全部插入完成。 原始:89 45 54 29 90 第1个数肯定是有序的。 i=1,89 45 54 29 90,j从0开始与i比较,a[j]>a[i],则交换,即 45 89 54 29 90; i=2,45 89 54 29 90,j=0,a[j]不大于...原创 2018-08-04 16:31:21 · 201 阅读 · 0 评论 -
最小生成树(Kruskal和Prim算法)
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51908175关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vi” role=”presentation” style=”position: relative;”...转载 2018-08-15 09:47:49 · 903 阅读 · 0 评论 -
找1到n中缺失的数字(长度为n-1的整形数组,数字的范围在1到n,找其中一个缺失的数字)
给定一个长度为n-1的整形数组,数字的范围在1到n(无重复),其中有一个缺失的数字,写一段高效的程序找出该数字。一、数组有序对于该数组是否有序,题目没有说明,假设有序,则可使用二分查找,时间复杂度为O(logN)。 如果中间元素的值和下标相等,那么下一轮查找只需要查找右半边;如果中间元素的值和下标不相等,并且它前面一个元素和它的下标相等,这意味着这个中间的数字正好是第一个值和下标不相等的...原创 2018-08-15 19:02:21 · 11617 阅读 · 3 评论