摘要: 归并排序 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,也称为二路归并。 实现 首先先来... 阅读全文
posted @ 2015-10-20 22:59 编程菌 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 冒泡排序的改进 普通的冒泡排序的算法的平均时间复杂度为O(n^2),通过对一些特殊情况的研究,我们得出了这个改进版的冒泡排序, 所以它的时间复杂度是~,没错,还是O(n^2)!否则就叫不叫冒泡排序早就改名了 冒泡排序的时间消费主要是在比较以及交换的次数上,每一趟冒泡都会将当前序列最大... 阅读全文
posted @ 2015-10-20 18:22 编程菌 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 题目链接:POJ 2752 给定一个字符串,求出所有既是前缀又是后缀的子串。 思路 KMP 的next数组的运用(改进前),如果next数组中next[ i ]= k 正值,那么就代表这从 “0 ~ i-1”位置的子串的前缀后缀相同的最大长度为k,并且k代表着与当前后缀最大匹配的前缀... 阅读全文
posted @ 2015-10-20 12:31 编程菌 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 题目链接:HDU 5505 GT and numbers 题目大意: 给你两个数 N, M ,N可以通过不断乘 N的因子,来达到 N = M,输出最少需要乘几次N的因子,如果怎样都不能达到N = M,则输出-1 思路 若M比N小或者M不能整除N,那么N 乘到 M, 最快的方法就是... 阅读全文
posted @ 2015-10-20 10:40 编程菌 阅读(131) 评论(0) 推荐(0) 编辑