摘要: 关于KMP算法的分析,我觉得这两篇博客写的不错:http://www.ruanyifeng.com/blog/2013/05/Knuth–Morris–Pratt_algorithm.htmlhttp://blog.csdn.net/v_JULY_v/article/details/6545192下... 阅读全文
posted @ 2014-09-02 21:26 Sai18 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 下面几篇文章记录字符串匹配算法。Brute-Force算法简称BF算法,中文名叫简单匹配算法。正如其名,简单粗暴,按部就班地遍历所有字符,算法简单,效率低下,不被看好。但也正因为不常用,反而容易生疏了,因此以此文熟悉一下这一简单的算法。算法思想:对于源串source和模式串pattern,从sour... 阅读全文
posted @ 2014-09-02 20:46 Sai18 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 一、 分类描述1. 插入排序 直接插入排序:算法简单,稳定,适用于数据量小的情况 希尔排序:直接插入排序的改进版,不稳定,对于待排序序列的不同情况效率相近2. 交换排序 冒泡排序:算法简单,稳定,在数据基本有序的情况下效率较高 快速排序:算法效率高,不稳定,需要额外的辅助空... 阅读全文
posted @ 2014-08-31 21:59 Sai18 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 基数排序是一种数据格式相关的算法,适用范围有限,当数据位数较小时,基数排序法的时间复杂度近似为O(n),效率高于其它的稳定性排序算法。1. 算法思想 以十进制数为例,现将元素按个位出入一次基数桶,再按十位出入基数桶……直至按最高位出入基数桶,此时序列整体有序。2. 时间复杂度 最好情况... 阅读全文
posted @ 2014-08-31 20:47 Sai18 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 归并排序是一种使用分治策略的排序算法,适用于待排序列整体无序、部分有序的情况。1. 算法思想 递归地将待排序列等分为两个子序列,直到子序列有序(狭义得讲就是只有一个元素),再将两个子序列合并为一个新的有序序列。2. 时间复杂度 最好情况 O(nlogn):用递归树思想,每次递归划分合并... 阅读全文
posted @ 2014-08-31 20:17 Sai18 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 堆排序也是一种选择排序,对序列的原始顺序不敏感,适用于数据量大的情况。1. 算法思想 堆:子节点的值总是小于/大于它的父节点。这里使用的是最大堆。 将数组转化为最大堆,依次将对顶元素取出,与堆中最后一个元素交换,堆长度减一,对堆作调整;如此循环至堆为空,最后得到一个元素由小到大排列的... 阅读全文
posted @ 2014-08-31 17:35 Sai18 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 直接选择排序最好最坏情况时间复杂度均为O(n^2),不稳定,其优势在于最多只需交换n次,交换操作比比较操作耗时。1. 算法思想 从待排序序列中选择最小的元素,放入有序序列的末尾;如此循环直至待排序序列为空。2. 时间复杂度 最好情况 O(n^2):序列正序有序,无需交换元素,但比较时间... 阅读全文
posted @ 2014-08-31 16:24 Sai18 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 快速排序是交换排序的一种,算法效率高,需要额外的辅助空间1. 算法思想 从待排序序列中选取一个元素,以其值作为中间值,把比其小的元素放到左边,比起大的元素放到右边;然后递归地对左、右部分排序,直至每一部分元素个数为1,整个序列有序。2. 时间复杂度 用递归树的思想,每次划分操作的元素... 阅读全文
posted @ 2014-08-31 11:36 Sai18 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序是一种选择排序,算法简单,在数据基本有序的情况下效率较高。1. 算法思想 通过无序区中元素相邻元素的比较和交换,使最小的元素如同气泡一般浮动至顶端。2. 时间复杂度 最好情况 O(n):序列正序有序,外循环只执行一次,内层比较n次,不需移动元素(针对改进版而言) 最坏情况... 阅读全文
posted @ 2014-08-31 08:49 Sai18 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 希尔排序是直接插入排序的改进版,对于待排序序列的不同情况效率相近。 1. 算法思想 先选取一个小于n的增量d1,把序列中所有元素分成n/d1个组,所有距离为d1的倍数的元素在同一组中,在各组内执行直接插入排序。然后选取一个更小的增量d2,重复上述分组和排序过程;继续减小增量,直至增量为1,即所有元素 阅读全文
posted @ 2014-08-30 13:30 Sai18 阅读(187) 评论(0) 推荐(0) 编辑