严蔚敏数据结构各习题及答案.docVIP

  • 1322
  • 0
  • 约7.68万字
  • 约 72页
  • 2016-12-25 发布于贵州
  • 举报
严蔚敏数据结构各习题及答案

数据结构习题及解答 第1章 概述 【例1-1】分析以下程序段的时间复杂度。 for(i=0;in;i++) for(j=0;jm;j++) A[i][j]=0; 解:该程序段的时间复杂度为O(m*n)。 【例1-2】分析以下程序段的时间复杂度。 i=s=0; ① while(sn) { i++; ② s+=i; ③ } 解:语句①为赋值语句,其执行次数为1次,所以其时间复杂度为O(1)。语句②和语句③构成while循环语句的循环体,它们的执行次数由循环控制条件中s与n的值确定。假定循环重复执行x次后结束, 则语句②和语句③各重复执行了x次。其时间复杂度按线性累加规则为O(x)。此时s与n满足关系式:s≥n,而s=1+2+3+…+x。所以有:1+2+3+…+x≥n,可以推出: x= x与n之间满足x=f(),所以循环体的时间复杂度为O(),语句①与循环体由线性累加规则得到该程序段的时间复杂度为O()。 【例1-3】分析以下程序段的时间复杂度。 i=1; ① while(i=n) i=2*i; ② 解:其中语句①的执行次数是1,设语句②的执行次数为f(n),则有:。 得:T(n)=O() 【例1-4】有如下递归函数fact(n),分析其时间复杂度。 fact(int n) { if(n=1)   return(1);       

文档评论(0)

1亿VIP精品文档

相关文档