数据结构 chapter1基本作业

1  基本作业题目

1.1  (《数据结构题集(C语言版)》,第1章,第1.5题)试画出与下列程序段等价的框图。

(1)

  1. product=1; i=1;
  2. while (i<=n) {
  3.   product*=i;
  4.   i++;
  5. }

(2)

  1. i=0;
  2. do {
  3.  i++;
  4. } while(i!=n) && (a[i]!=x));

(3)

  1. Switch {
  2.   case x<y:  z=y-x;  break;
  3.   case x==y:  z=abs(x*y);  break;
  4.   default:  z=(x-y)/abs(x)*abs(y);
  5. }

1.2  (《数据结构题集(C语言版)》,第1章,第1.8题)设n为正整数,试确定下列程序段中前置以记号@的语句的频度:

(1)

  1. i=1; k=0;
  2. while(i<=n-1){
  3.   @ k+=10*i;
  4.   i++;
  5. }

(2)

  1. i=1; k=0;
  2. do {
  3.   @ k+=10*i;
  4.   i++;
  5. } while (i<=n-1);

(3)

  1. i=1; k=0;
  2. while (i<=n-1) {
  3.   i++;
  4.   @ k+=10*i;
  5. }

(4)

  1. k=0;
  2. for (i=1;i<=n;i++) {
  3.   for (j=i;j<=n;j++)
  4.     @ k++;
  5. }

(5)

  1. for (i=1;i<=n;i++) {
  2.   for (j=1;j<=i;j++) {
  3.     for (k=1;k<=j;k++)
  4.       @ x+=delta;
  5.   }
  6. }

(6)

  1. i=1; j=0;
  2. while (i+j<=n) {
  3.   @ if(i>j) j++;
  4.     else i++;
  5. }

(7)

  1. x=n;  y=0;  //n不小于1
  2. while (x>=(y+1)*(y+1)) {
  3.   @ y++;
  4. }

(8)

  1. x=91; y=100;
  2. while (y>0) {
  3.   @ if (x>100) {
  4.       x-=10;  y--;
  5.     } else x++;
  6. }

1.3  (《数据结构题集(C语言版)》,第1章,第1.10题)按增长率由小至大的顺序排列下列各函数:

2100(3/2)n,  (2/3)n,  (4/3)n,  nn,  n3/2,  n2/3,  n!,  n,  log2n,  n/logn2,  log22n,  log2(log2n),  nlog2n,  nlog2n

1.4  (《数据结构题集(C语言版)》,第1章,第1.12题)设有以下三个函数:f(n)=21n4+n2+1000, g(n)=15n4+500n3, h(n)=5000n3.5+nlogn,请判断以下断言正确与否:

(1)f(n)是O(g(n));

(2)h(n)是O(f(n));

(3)g(n)是O(h(n));

(4)h(n)是O(n3.5));

(5)h(n)是O(nlogn)。

2  基本作业题目解答

1.1  (《数据结构题集(C语言版)》,第1章,第1.5题)试画出与下列程序段等价的

(1)                            

(2)

(3)

1.2  (《数据结构题集(C语言版)》,第1章,第1.8题)设n为正整数,试确定下列程序段中前置以记号@的语句的频度:

(1)频度:n-1;

(2)频度:n-1;

(3)频度:n-1;

(4)频度:n+(n-1)+(n-2)+…+1=n(n+1)/2;

(5)频度:

(6)频度:n;

(7)频度:[n^1/2-1](取整)

(8)频度:1100

1.3  (《数据结构题集(C语言版)》,第1章,第1.10题)按增长率由小至大的顺序排列下列各函数:

1.4  (《数据结构题集(C语言版)》,第1章,第1.12题)设有以下三个函数:f(n)=21n4+n2+1000, g(n)=15n4+500n3, h(n)=5000n3.5+nlogn,请判断以下断言正确与否:

(1)f(n)是O(g(n));  正确。f(n)=O(n^4 ),O(g(n))= n^4 ,所以正确

(2)h(n)是O(f(n));错误

(3)g(n)是O(h(n)); 错误

(4)h(n)是O(n3.5));正确

(5)h(n)是O(nlogn)。错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值