- 博客(5)
- 收藏
- 关注
原创 第30章 多项式与快速傅里叶变换
这一章讲了多项式之间的乘法,但仅限于两个次数界相等并且为2的幂的多项式之间的乘法。运用了快速傅里叶变换及逆快速傅里叶变换算法。递归的快速傅里叶变换代码:void recursiveFFT(const vector<double>& coefficient,vector<Complex>& FFTResult){ int length=coefficient.size();
2016-04-24 20:52:10 647
原创 第29章:线性规划
这一章讲解了如何用单纯行算法解决线性规划问题。下面给出用c++实现的代码,输入为标准型线性规划。先给出单纯行算法的驱动部分,代码如下://求解一个输入为标准型线性规划的问题。double simplex(vector< vector<double> >& A,vector<double>& b,vector<double>& c,vector<double>& solution){
2016-04-19 21:27:09 685
原创 第28章 矩阵运算
这一章给出了求解线性方程组Ax=b(|A|!=0)和求矩阵的逆的伪代码,下面用c++实现。线性方程组:1: 先求出P,L,U,使得PA=LU成立void LUPDecomposition(vector< vector<double> >& array,vector<int>& P){ int dimension=array.size(); P.resize(dimen
2016-04-16 12:44:48 498
原创 第17章 摊还分析
在摊还分析中,我们通过求数据结构的一个操作序列中所执行的所有操作序列的平均时间来评价操作的代价,这个平均时间也称为摊还代价,它保证最坏情况下每个操作的平均性能。在分析摊还时间时,有三种分析方法可以采用,分别是聚合分析,核算法,势能法。聚合分析:利用聚合分析,我们证明对所有n,一个n个操作序列最坏情况下花费的总时间为T(n)。因此,在最坏情况下,每个操作的平均代价,或者是摊还代价为T(n)/n。需要注
2016-04-06 22:15:39 581
原创 第16章 贪心算法
一:贪心算法的概念:求解最优化问题的算法通常需要经过一系列的步骤,在每个步骤都面临多重选择,动态规划算法是通过比较这么多选择来得到一个最优的选择,而贪心算法不用比较而是直接选出当时看起来最佳的选择,通过做出局部最优的选择来得到全局最优解。设计贪心算法有如下三个步骤:将最优化问题转化为这样的形式:对其做出一次选择后,只剩下一个子问题需要求解;证明贪心选择是最优解的一部分;证明做出贪心选择后,剩余
2016-04-02 20:36:34 481
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人