- 7
- 0
- 约2.12万字
- 约 96页
- 2022-04-30 发布于安徽
- 举报
【问题二】 根据题干说明和以上C代码,算法采用了(5)算法设计策略。 分析时间复杂度时,列出其递归方程(6),解出渐进时间复杂度为(7)(用O符号表示),空间复杂度为(8)(用O符号表示)。 【问题三】 两个长度分别为n1和n2的已经排好序的子数组进行归并,根据上述C代码,则元素之间比较次数为(9)。 作业 用函数自身给出定义的函数称为递归函数。 然后从这些小问题的解方便地构造出大问题的解;并从这些更小问题的解构造出规模稍大问题的解; 只有具备了这两个要素,才能在有限次计算后得出结果。 1,2,3,p(4)=5,p(5)=7,p(6)=11 前面的几个例子中,问题本身都具有比较明显的递归关系,因而容易用递归函数直接求解。 前面的几个例子中,问题本身都具有比较明显的递归关系,因而容易用递归函数直接求解。 由此可以设计出解Hanoi塔问题的递归算法如下。 人们从大量实践中发现,用分治法设计算法时,最好使子问题的规模大致相同。即将 这就为使用递归技术提供了方便。在这种情况下, 分析:很显然此问题分解出的子问题相互独立,即在a[i]的前面或后面查找x是独立的子问题,因此满足分治法的第四个适用条件。 该算法的最好比较次数是n-1(递增),最坏是2(n-1)(递减),平均情况是3(n-1)/2(一半增一半减) Hopcroft和Kerr已经证明(1971),计算2个2×2矩阵的乘积,
原创力文档

文档评论(0)