码迷,mamicode.com
首页 >  
搜索关键字:分治策略    ( 157个结果
算法导论第四章分治策略编程实践(二)
在上一篇中,通过一个求连续子数组的最大和的例子讲解,想必我们已经大概了然了分治策略和递归式的含义,可能会比较模糊,知道但不能用语言清晰地描述出来。但没关系,我相信通过这篇博文,我们会比较清楚且容易地用自己的话来描述。 通过前面两章的学习,我们已经接触了两个例子:归并排序和子数组最大和。这两个例...
分类:编程语言   时间:2015-09-15 21:38:12    阅读次数:192
分治策略(2)——算法导论(4)
1. 引言 这一篇博文首先会介绍基于分治策略的矩阵乘法的Strassen算法,然后会给出几种求解递归式的方法。 2. 矩阵乘法的Strassen算法 ...
分类:编程语言   时间:2015-09-13 14:29:28    阅读次数:301
分治策略——算法导论(3)
1. 从一个股价的问题说起 假如你获得了一种可以预测未来某公司股价的能力。下图是你预测的股价情况,那么你会在哪一天买入,哪一天卖出呢? 你可能认为可以在这17天当中的股价最低的那天(第7天)买入,然后在之后的股价最高的那天(第11天)卖出;或者反过来在整段时间内股价最高的那天卖出,然后在之前的股价最...
分类:编程语言   时间:2015-09-11 15:57:52    阅读次数:186
一次快速排序错误引发的思考(1)
快速排序是目前基于关键字的内部排序算法中平均性能最好的,它采用了分治策略,这既是快速排序的优点也是它的缺点。从快速排序的算法描述上我们可以发现它具有递归的结构: (1)确定一个分界,将待排序的数组分为左、右两个部分; (2)使所有小(大)于临界值的数据移到左部分,大(小)于临界值的数...
分类:编程语言   时间:2015-09-11 00:04:09    阅读次数:252
算法导论—动态规划
华电北风吹 天津大学认知计算与应用重点实验室 日期:2015/8/27 首先区分动态规划和分治策略。 这两者有很相似的地方,都是通过组合子问题的解来求解原问题。不同的是,分治策略将原问题划分为互不相交的子问题,递归的求解子问题,再将它们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子问题)。在这...
分类:编程语言   时间:2015-08-27 13:34:50    阅读次数:178
快排C语言实现
快速排序也是典型的分治策略实现,与归并排序不同,快排的关键部分在于 分 也就是partition部分,快排平均时间复杂度是O(nlgn),最差时间是O(n^2),属于不稳定排序 下面是快排的C语言实现。 //p, r分别是数组中元素的下标 int partition(int A[], int p, int r) { int i, j; i = p - 1; f...
分类:编程语言   时间:2015-08-01 22:06:35    阅读次数:226
归并排序C语言实现
归并排序典型的分治策略的体现,时间复杂度是O(nlgn), 空间复杂度是O(n).属于稳定排序。 下面是C语言实现代码。 #define MAX 10000000 //p, q, r是均是元素的下标 void merge(int A[], int p, int q, int r) { int n1 = q - p + 1; int n2 = r - q; int...
分类:编程语言   时间:2015-08-01 20:37:03    阅读次数:145
第4章 分治策略 monge阵列
#include#includeusing namespace std;void findOddMin(vector> &a, int m, int n, vector &r){ int len = r.size(); vector tmp; for (int i = 0; i 0) b = r[i...
分类:其他好文   时间:2015-07-31 21:42:39    阅读次数:104
分治法求解最大子数组问题
/* ????本问题是求解最大子数组问题 ????普通方法的复杂度为n^2 ????现在尝试给出一种小于n^2的算法 ????当然数组中必须要有负数,不然没有意义 ????本例中使用分治策略 */ #include<stdio...
分类:编程语言   时间:2015-07-27 21:14:03    阅读次数:108
Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)
1.问题描述  写一个高效的算法,从一个m×nm\times n的整数矩阵中查找出给定的值,矩阵具有如下特点:    每一行从左到右递增。 每一列从上到下递增。 2. 方法与思路2.1 二分查找法  根据矩阵的特征很容易想到二分法,但是这是一个二维的矩阵,如何将问题转化为一维是关键。实际上我们可以根据矩阵的第一列确定值可能所在的行的范围(limu,limd)(limu,limd),其中limu=0...
分类:编程语言   时间:2015-07-23 21:54:29    阅读次数:114
157条   上一页 1 ... 9 10 11 12 13 ... 16 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!