
算法分析
岚岚
这个作者很懒,什么都没留下…
展开
-
最大子序列和问题
从零开始学习算法。(加油) 第一天:最大子序列和问题例一: int MaxSubsequenceSum(const int A[],int N){ int ThisSum,MaxSum; MaxSum=0; for(int i=0;i for(int j=i;j { ThisSum=0; for(int k=i;k Th原创 2012-06-12 09:34:15 · 543 阅读 · 0 评论 -
用数组实现多项式加法和乘法
//用数组实现一元多项的加和乘#include// #define MaxDegree 100;//注:在这里宏定义之后的还是一个变量。编译器并没有把它当做一个常量。using namespace std;const int MaxDegree=100;typedef struct Node { int CoeffArray[MaxDegree+1];原创 2012-06-14 11:10:01 · 5658 阅读 · 0 评论 -
栈的实现--键表和数组
//栈的键表实现//头文件#ifndef _Stack_h#define _Stack_hstruct Node;typedef struct Node *PtrToNode;typedef PtrToNode Stack;typedef int ElementType;//设定栈里面的元素为int型的int IsEmpty(Stack s);Stack Cre原创 2012-06-26 11:17:57 · 908 阅读 · 0 评论 -
初学贪心算法
(1) 贪心算法定义 贪心算法:贪心算法是一种求最优解的方法,在做每一步的决策时,都保证做的决策是当前最优的情况(局部最优),而不考虑将来的后果。即“眼下能拿到就拿到”的贪心策略。(2)适合的问题 一个大问题能分解几个小部分,解决一部分整个问题就向前进了一步,并局部最优解的策略能保证得到的结果是最优解。 缺点:需要证明得到的原创 2013-03-08 19:44:59 · 923 阅读 · 0 评论 -
POJ 2524 查并集
POJ 2524先用自己的想法做出:自己的代码://POJ 2524#include#include#includeusing namespace std;int main(){// ifstream infile("test.txt");// if(!infile)// {// cout<<"Error"<<endl;// } int n,m原创 2013-03-19 21:10:49 · 815 阅读 · 0 评论 -
初学动态规划
(1)动态规划定义 动态规划:动态规则可用于解最优解的问题,其基本思想为把一个大的问题分析小的子问题,并记录每个子问题的结果,再通过这些子问题的解能解出最终的结果。应用于重叠子问题的问题。 步骤:1 把一个问题分解成好的子问题。 2 对每个子问题求解并记录下每个子问题的结果。 例一:POJ 2533 思路原创 2013-03-24 10:32:59 · 606 阅读 · 0 评论