第2章 递归与分治_作业答案分析.pptVIP

  • 23
  • 0
  • 约5.04千字
  • 约 25页
  • 2016-07-01 发布于湖北
  • 举报
第2章 递归与分治_作业答案分析.ppt

课后练习 练习1:给定数组a[0:n-1], 试设计一个分治法算法,找出a[0:n-1]中元素最大值和最小值; 写出该算法时间函数T(n)的递推关系式; 分析该算法的时间复杂度和空间复杂度。 算法的基本思想:如果数组中只有一个元素,则该元素即是数组中最大的元素,否则将数组对分为前半部分和后半部分。 ⑴用同样的方法求数组前半部分的最大值max1。 ⑵用同样的方法求数组后半部分的最大值max2。 ⑶若max1max2,则max1为数组中的最大值;否则max2为数组中的最大值。 具体执行过程:求最大值 int MAXA( A, i, j) { int i, j, max=0, max1=0, max2=0; int A[]; if( i==j ) max=A[i]; else //求数组前半部分的最大值max1 { max1 = MAXA( A, i, (i+j)/2 ); //求数组后半部分的最大值max2 max2 = MAXA( A, (i+j)/2+1, j ); if( max1 max2 ) max = max1; else max = max2; } return max; } 课后练习 练习2:分析如下时间函数的复杂度,并说明原因

文档评论(0)

1亿VIP精品文档

相关文档