![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经典算法分析
小萝卜头____
这个作者很懒,什么都没留下…
展开
-
最大连续子序列的和
问题描述:给定一个数列,其中可能有正数也可能有负数,找出其中连续的一个子数列(不允许空序列),使它们的和尽可能大。例如:给定数组int[] arr = {-2, 6, -1, 5, 4, -7, 2, 3}; 和最大为14,其对应的子序列为{6, -1, 5, 4}。 一、暴力穷举法 枚举出所有可能的序列(即所有zi'xu'lie的起始和结束坐标) public static void ...原创 2019-06-03 16:31:04 · 197 阅读 · 0 评论 -
最大公约数
对于非负整数a,b,求a和b的最大公约数,设a>=b>=0. 辗转相除法 若b=0,则a和b的最大公约数为a; 若b>0,则a和b的最大公约数 等于 b和a除以b的余数的最大公约数。 public static void main(String[] args) { int a = 30; int b = 90; if (a < b) {//保证...原创 2019-06-03 19:28:06 · 186 阅读 · 0 评论 -
算法设计之递归与分治策略
分治法思想:当计算机求解的问题规模较大,直接求解甚至根本没有办法求解,将该问题划分为若干子问题,使子问题与原问题类型一致但其规模却不断缩小,最终使子问题缩小到容易求解。(由于分治法产生的子问题往往是原问题的较小模式,子问题与原问题类型一致,因此,在分治法中经常使用递归技术求解问题,递归与分治之间相辅相成)。 递归算法缺点:执行效率低,空间消耗多。 递归问题: 斐波那契数列 publi...原创 2019-06-03 20:44:13 · 327 阅读 · 0 评论 -
排序算法总结之交换类排序
快速排序(不稳定的排序):从待排序记录序列中选取一个记录(通常选取第一个记录)为枢轴,其关键字设为K1,然后将其余关键字小于K1的记录移到前面,而将关键字大于K1的记录移到后面,结果将待排序记录序列分成两个子表,最后将关键字为K1的记录插入到其分界线的位置。一趟快速排序后,原序列一分为二,关键字K1前面的序列均小于K1,后面的序列均大于K1。之后对两个子表继续执行上述分割,直至子表表长不超过1为......原创 2019-06-04 16:55:15 · 402 阅读 · 0 评论