b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

c语言背包问题_背包问题贪心算法_背包问题 贪心算法(10)

电脑杂谈  发布时间:2016-12-30 01:02:39  来源:网络整理

22.算法是由若干条指令组成的有穷序列,且要满足输入、 输出 、确定性和 有限性 四条性质。

23、大整数乘积算法是用 分治法 来设计的。

24、以广度优先或以最小耗费方式搜索问题解的算法称为 分支限界法 。

25、舍伍德算法总能求得问题的一个解 。

26、 贪心选择性质 是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。

27.快速排序算法是基于 分治策略 的一种排序算法。

28.动态规划算法的两个基本要素是. 最优子结构 性质和 重叠子问题 性质 。

30.回溯法是一种既带有 系统性 又带有 跳跃性 的搜索算法。

31.分支限界法主要有 队列式(FIFO) 分支限界法和 优先队列式 分支限界法。

32.分支限界法是一种既带有 系统性 又带有 跳跃性 的搜索算法。

33.回溯法搜索解空间树时,常用的两种剪枝函数为 约束函数 和 限界函数 。

34.任何可用计算机求解的问题所需的时间都与其 规模 有关。

35.快速排序算法的性能取决于 划分的对称性 。

三、算法填空

1.背包问题的贪心算法

void Knapsack(int n,floatM,float v[],float w[],float x[])

{

Sort(n,v,w);

int i;

for (i=1;i<=n;i++) x[i]=0;

float c=M;

for (i=1;i<=n;i++) {

if (w[i]>c) break;

x[i]=1;

c - =w[i];

}

if (i<=n) x[i]=c/w[i];

}

2.最大子段和: 动态规划算法

int MaxSum(int n, int a[])

{

int sum=0, b=0; //sum存储当前最大的b[j], b存储b[j]

for(int j=1; j<=n; j++) {

if (b>0) b+= a[j] ;

elseb=a[i]; ; //一旦某个区段和为负,则从下一个位置累和

if(b>sum) sum=b;

}

return sum;

}

3.贪心算法求装载问题

template<classType>

voidLoading(int x[], Type w[], Typec, int n)

{

int *t = new int [n+1];

;

for (int i = 1; i <= n; i++) x[i] =0;

for (int i = 1; i <= n &&w[t[i]] <= c; i++)

{x[t[i]] = 1;

;}

}

4.贪心算法求活动安排问题

template<classType>

voidGreedySelector(int n, Type s[], Type f[], bool A[])

{

A[1]=true;

int j=1;

for (int i=2;i<=n;i++) {

if (s[i]>=f[j])

{A[i]=true;

j=i;

}

else A[i]=false;

}

}

5.快速排序

template<class Type>

void QuickSort (Typea[], int p, int r)

{

if (p<r) {

int q=Partition(a,p,r);

QuickSort (a,p,q-1); //对左半段排序

QuickSort (a,q+1,r); //对右半段排序


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-23877-10.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 丹下樱
      丹下樱

      主席的话“人不犯我

    • 樱川未央
      樱川未央

      还是喜欢我们最伟大的领袖啊

    热点图片
    拼命载入中...