
算法设计与分析
cutter_point
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
递归算法:求序列的全排列
用C++模板书写一段序列数组的全部排列/*** 书本:【windows程序设计】* 功能:输出全部的排列情况* 文件:全排列.cpp* 时间:2014年9月29日21:52:55* 作者:cutter_point*/#include using namespace std;//交换两个元素的函数templateinline void Swap(Type &a原创 2014-09-29 22:28:00 · 1511 阅读 · 0 评论 -
【算法设计与分析】8、哈弗曼编码,贪心算法实现
写这个玩意,我也是深深地感觉到自己数据结构的薄弱,可笑的是我一直以为学的还可以,结果一个堆结构就干了我半个月,才懂个大概= =,我也是醉了BinaryTree.h二叉树的实现/*** 书本:《算法分析与设计》* 功能:这个头文件是为了实现二叉树* 文件:BinaryTree.h* 时间:2014年12月15日18:35:51* 作者:cutter_point*///原创 2015-01-03 19:53:23 · 1744 阅读 · 0 评论 -
【算法设计与分析】6、最大字段和
/*** 书本:《算法分析与设计》* 功能:若给定n个整数组成的序列a1, a2, a3, ......an, 求该序列形如ai+a(i+1)+......+an的最大值* 文件:MaxSum.cpp* 时间:2014年11月30日17:37:26* 作者:cutter_point*/#include using namespace std;//方法一:/*简单的解决方原创 2014-12-07 19:02:43 · 1882 阅读 · 0 评论 -
【算法设计与分析】7、0/1背包问题,动态规划
/*** 书本:《算法分析与设计》* 功能:给定n种物品和一个背包,物品i的重量是Wi, 其价值为Vi,问如何选择装入背包的物品,使得装入背包的物品的总价值最大?* 文件:beiBao.cpp* 时间:2014年11月30日19:22:47* 作者:cutter_point*/#include #define SIZEBEIBAO 20using namespace std原创 2014-12-07 19:04:18 · 2174 阅读 · 0 评论 -
【算法设计与分析】5、最长公共子序列
/*** 书本:《算法分析与设计》* 功能:若给定序列X={x1, x2, ..., xm},则另一序列Z={z1, z2, ..., zk},是X的子序列是指存在一个严格递增下标序列{i1, i2, ..., ik}* 使得对于所有j=1,2,。。。,k有:zj=xij.给定两个序列X={x1, x2, ... xm}和Y={y1, y2, ..., yn}找出X和Y的最长公共子原创 2014-12-07 19:01:32 · 1772 阅读 · 0 评论 -
【算法设计与分析】4、合并排序
/*** 书本:《算法分析与设计》* 功能:给定线性序列集合中n个元素和一个整数k,1<=k<=n,输出者n个元素中第“k小”元素的值和位置* 文件:lesson4.cpp* 时间:2014年11月16日13:41:04* 作者:cutter_point*/#include using namespace std;/**1、实现这个算法首先肯定是要排序*2、排好序之后第k原创 2014-11-16 18:41:43 · 2468 阅读 · 0 评论 -
【算法设计与分析】1、整数划分问题
#include using namespace std;/*void show(int *put, int len) //一个输出函数{ for(int i=0 ; i < len ; ++i) cout<<put[i]<<" + "; cout<<endl;}*/int huafen(int x, int m) //实现整数x的划分,一个参数是要划分的数,这里有一原创 2014-11-16 18:38:18 · 2687 阅读 · 0 评论 -
【算法设计与分析】3、二分搜索
/*** 书本:《算法分析与设计》* 功能:二分搜索* 1、设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中的时候,返回小于x的最大元素* 的位置I和大于x的最小元素位置j。当搜索元素在数组中的时候,I和j相同,均为x在数组中的位置* 文件:lesson3.cpp* 时间:2014年11月4日19:50:20* 作者:cutter_point原创 2014-11-16 18:40:31 · 2027 阅读 · 0 评论 -
【算法设计与分析】2、棋盘覆盖问题
#include using namespace std;/**这个题的主要思想:*1、平均吧这个2的k次幂的方格划分为4个部分*2、一个含有特殊方格的为一部分*3、剩下3个没有特殊方格的分别贡献一个小方块合成一个“L”*4、然后把刚刚贡献出去的小方格当成一个特殊方格,重新回到步骤1*5、如果特殊方格不足4个的时候就是已经全部分完了,跳出去*///我们得知道是k行k列的方原创 2014-11-16 18:39:47 · 2198 阅读 · 0 评论 -
浅谈分治算法的时间复杂度分析
在我的周围, 发现好多的同事, 朋友, 对一个算法进行时间复杂度分析时,尤其是递归函数进行分析时, 比较吃力, 因此特写这篇文章, 给刚做程序员或者对分治算法(Divide and Conquer),递归(Recursive)算法时间复杂度不太会分析的同学吧. 如有不对之处,共同探讨学习。 关于分治算法是这样定义的:为解决一个给定的问题, 算法需要一次或多次的递归调用其自身来解决相关的转载 2014-11-16 13:56:14 · 21104 阅读 · 1 评论 -
关于如何计算时间复杂度的方法!
(1) for(i=1;i<=n;i++) for(j=1;j<=n;j++) s++;(2) for(i=1;i<=n;i++) for(j=i;j<=n;j++) s++;(3) for(i=1;i<=n;i++) for(j=1;j<=i转载 2014-11-10 20:55:36 · 936 阅读 · 1 评论 -
【算法设计与分析】9、最小生成树,贪心算法实现
/*** 书本:《算法分析与设计》* 功能:实现用Prim算法实现寻找最小生成树* 文件:PrimMixTree.cpp* 时间:2015年1月4日19:42:57* 作者:cutter_point*/#include #include //文件输入输出流using namespace std;const int N = 6; //这个图是一个6*6的矩阵cons原创 2015-01-04 21:09:56 · 2377 阅读 · 0 评论