摘要: 一、快速排序 算法导论上关于快速排序有两种写法 第一种,从头到尾遍历,不断将小于基准元素的项移到前面。代码很简介,只需要维护一个交换位置,表示小于基准元素的末尾位置加一 我们看算法导论上的一个例子: 代码实现(代码中用p记录上面i+1的位置,pos2应该为数组长度减1): 第二种,维护两个位置,第一 阅读全文
posted @ 2018-03-24 15:08 番茄汁汁 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 一、递归方程 按照分治的思想,可以将一个递归的复杂度写成递归方程 一、解递归方程--猜然后证明 该方法又称为代入法,步骤如下: 1、猜解的形式 2、数学归纳法证明正确 例子: 我们假设有如下递归式: 我们猜其解为T(n)=O(nlgn),然后对递归式进行替换,得 特别注意:我们替换之后得出的结果必须 阅读全文
posted @ 2018-03-24 13:38 番茄汁汁 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 一、几种比较复杂度的符号 数据结构有描述,相关严格数学定义也不想说了,就这么过了吧。 二、最大子数组的几种解决方法 从最复杂的暴力解法过渡到最简单的动态规划 解析和代码见这里:http://www.cnblogs.com/likaiming/p/8570205.html 三、作业调度问题 后面的动态 阅读全文
posted @ 2018-03-24 12:57 番茄汁汁 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 问题 A: 最大子序列和问题 题目描述 给定一整数序列 a1, a2, …, an,求 a1~an 的一个子序列 ai~aj,使得从 ai 到 aj 的和最大。 只需要求出最大子序列的和,而不需要求出最大的那个序列。 给定一整数序列 a1, a2, …, an,求 a1~an 的一个子序列 ai~a 阅读全文
posted @ 2018-03-24 10:31 番茄汁汁 阅读(480) 评论(0) 推荐(0) 编辑