算法设计与分析
cutter_point
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
递归算法:求序列的全排列
用C++模板书写一段序列数组的全部排列 /** * 书本:【windows程序设计】 * 功能:输出全部的排列情况 * 文件:全排列.cpp * 时间:2014年9月29日21:52:55 * 作者:cutter_point */ #include using namespace std; //交换两个元素的函数 template inline void Swap(Type &a原创 2014-09-29 22:28:00 · 1525 阅读 · 0 评论 -
【算法设计与分析】8、哈弗曼编码,贪心算法实现
写这个玩意,我也是深深地感觉到自己数据结构的薄弱,可笑的是我一直以为学的还可以,结果一个堆结构就干了我半个月,才懂个大概= =,我也是醉了 BinaryTree.h二叉树的实现 /** * 书本:《算法分析与设计》 * 功能:这个头文件是为了实现二叉树 * 文件:BinaryTree.h * 时间:2014年12月15日18:35:51 * 作者:cutter_point */ //原创 2015-01-03 19:53:23 · 1762 阅读 · 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 · 1909 阅读 · 0 评论 -
【算法设计与分析】7、0/1背包问题,动态规划
/** * 书本:《算法分析与设计》 * 功能:给定n种物品和一个背包,物品i的重量是Wi, 其价值为Vi,问如何选择装入背包的物品,使得装入背包的物品的总价值最大? * 文件:beiBao.cpp * 时间:2014年11月30日19:22:47 * 作者:cutter_point */ #include #define SIZEBEIBAO 20 using namespace std原创 2014-12-07 19:04:18 · 2190 阅读 · 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 · 1796 阅读 · 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 · 2483 阅读 · 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 · 2704 阅读 · 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 · 2043 阅读 · 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 · 2227 阅读 · 0 评论 -
浅谈分治算法的时间复杂度分析
在我的周围, 发现好多的同事, 朋友, 对一个算法进行时间复杂度分析时,尤其是递归函数进行分析时, 比较吃力, 因此特写这篇文章, 给刚做程序员或者对分治算法(Divide and Conquer),递归(Recursive)算法时间复杂度不太会分析的同学吧. 如有不对之处,共同探讨学习。 关于分治算法是这样定义的: 为解决一个给定的问题, 算法需要一次或多次的递归调用其自身来解决相关的转载 2014-11-16 13:56:14 · 21149 阅读 · 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 · 955 阅读 · 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 · 2396 阅读 · 0 评论
分享