第一章作业与练习

发布 2022-06-30 07:09:28 阅读 9985

第 1 章作业与练习。

姓名:李明远学号:1130310126 八。 算法设计(要求:算法用伪**和 c/c++/j**a 描述,并分析最坏情况下的时间复杂度)

1. 对一个整型数组 a[n]设计一个排序算法。

伪**实现:

void datasort(array a,int n)

int i,j,temp;

for(i←0; i

c**实现:

void datasort(int a,int n)

int i,j,temp;

for(i=0; i

最坏情况下时间复杂度分析:

基本语句: if(a[j]>a[i])。

问题规模: n。

每执行temp=a[j],a[j]=a[i],a[i]=temp时,耗时为o(1),循环次数为。

n-j-1,外层循环执行2次,所以总共耗时为2*n*o(1),所以时间复杂度为o(n)。

3. a 是一个有 n 个不同元素的实数数组,写出确定给定实数 k 是否在 a 中的算法,分析时间复杂性(要求:问题规模、基本语句,o 记号),并在极器验证你的复杂度。

伪**实现:

int found(float a,int n,float s)

int i;

for(i←0;i

否则函数返回值为0;

c**实现:

int found(float a,int n,float s)

int i;

for(i=0;i

return 0;

最坏情况下时间复杂度分析:

基本语句: if(fabs(a[i]-s)<=1e-5)

问题规模: n。

每执行if(fabs(a[i]-s)<=1e-5)时,耗时为o(1),外层循环次数为n次,所以总共耗时为n*o(1),所以时间复杂度为o(n)。

4.设 a 是一个有 n 个不同元素的实数数组,写出求其最大和最小元素的算法,分析其时间复杂性。并在机器上验证你的复杂度。

伪**实现:

void foundmaxandmin(float a,int n)

float max,min;

int i;

max←min←a[0];

for(i←1;i

printf "最大值";max

printf "最小值";min

c**实现:

void foundmaxandmin(float a,int n)

float max,min;

int i;

max=min=a[0];

for(i=1;i

printf("the max is %.4f",max);

printf("the min is %.4f",min);

最坏情况下时间复杂度分析:

基本语句: if(a[i]>max)或者else

问题规模: n。

每执行if(a[i]>max)或者else时,耗时为o(1),外层循环次数为n次,所以总共耗时为n*o(1),所以时间复杂度为o(n)。

5.写出汉诺塔问题的求解算法,分析其时间复杂性。并在机器上验证你的复杂。

度。伪**实现:

void hanoi(n,a,b,c)

begin

if n=1 then write(a,’-c) /把盘子直接从a移动到c

hanoi(n-1,a,c,b以c柱为中转柱将n-1个盘子从a柱移动到柱。

write(a,’-c把剩下的一个盘子从a移动到c

hanoi(n-1,b,a,c以a柱为中转柱将n-1个盘子从b柱移动到c柱。

end; end;

c**实现:

void hanoi(int n,char a,char b,char c)

if (n==1)

elsevoid move(int n,char a,char b)

printf("move %d: from %c to %c ",n,a,b);

最坏情况下时间复杂度分析:

基本语句:write(a,’-c)。

问题规模: n。

每执行write(a,’-c)时,耗时为1, 函数hanoi运行时间用t(n)表示,那么函数hanoi(n)可以分解为两个hanoi(n-1)和一个移动操作,t(n) =2*t(n- 1)+ 1,所以t(n)= 2^n-1,所以时间复杂度为o(2^n).

第一章习题与作业

1 某流体在圆形直管中作滞流流动时,其速度分布是型曲线,其管中心最大流速为平均流速的倍,摩擦系数 与re的关系为2 水由敞口恒液位的高位槽通过一管道流向压力恒定的反应器,当管道上的阀门开度减小后,水流量将 摩擦系数 管道总阻力损失 3 277k的水粘度为1cp,在内径为20mm的管内作稳定连续层流时...

第一章作业与案例

作业 1 某公司2005年甲产品生产工时和制造费用总额的资料摘录如下 高点低点。生产工时 小时 7500050000 制造费用 元176250 142500 制造费用是由变动成本 固定成本与混合成本三部分组成的。公司对低点制造费用进行了分解 变动成本为50000元,固定成本为60000元,混合成本为...

第一章作业与问题

概率论与数理统计 属应用数学范畴,它观察,分析,描述和处理问题的方法与其它数学分支不同,是一种观测实验与理性思维相结合的科学方法。第一章。作业 以下凡未给内容的题目选自教材习题一。1.从0,1,2,9十个数字中,先后随机取出两数,写出下列取法中的样本空间 1 抽取可放回时的样本空间 1 1 抽取不放...