一般分为三步递归进行1.分解:将原问题分解为若干个规模较小相互独立与原问题形式相同的子问题 2.解决:若子问题规模较小而容易被解决则直接求解否则递归地解各个子问题 3.合并:将该层递归各个子问题的解合并为原问题的解 金块问题记a[sted]的逆序对个数共有aa[sted]分为两段分别求解:aa[st(sted) div 2] aa[(
T(n4)T(n4)将求出的小规模的问题的解合并为一个更大规模的问题的解自底向上逐步求出原来问题的解T(n4)T(n4) 算法总体思想n2n2直接或间接地调用自身的算法称为递归算法用函数自身给出定义的函数称为递归函数由分治法产生的子问题往往是原问题的较小模式这就为使用递归技术提供了方便在这种情况下反复应用分治手段可以使子问题与原问题类型一致而其规模却不断缩小最终使子问题缩小到很容易直接求出其解这自
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级递归与分治策略 学习要点:理解递归的概念掌握设计有效算法的分治策略通过下面的范例学习分治策略设计技巧(1)二分搜索技术 (2)合并排序和快速排序(3)线性时间选择将要求解的较大规模的问题分割成k个更小规模的子问题算法总体思想nT(n2)T(n2)T(n2)T(n2)T(n)=
段旭良四川农业大学 递归的概念 递归的概念斐波那契数列的通项公式为(又叫比内公式是用无理数表示有理数的一个范例) 可它的每一项却都是整数开普勒发现两个斐波那契数的后两项比会趋近黄金分割:这个数列有广泛的应用如树的年分枝数目就遵循斐波那契数列的规律而且计算机科学的发展为斐波那契数列提供了新的应用场所F(3)F(1) 递归的概念前面问题本身都有明显递归关系容易求解本例中若设p(n)为正整数n的划分数难
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第2章 递归与分治策略 学习要点:理解递归的概念掌握设计有效算法的分治策略通过下面的范例学习分治策略设计技巧(1)二分搜索技术 (2)大整数乘法(3)Strassen矩阵乘法(4)棋盘覆盖(5)合并排序和快速排序(6)线性时间选择(7)最接近点对问题(8)循环赛日程表将要求解的较大规模的问题分割成k个更小规模的子问题
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第2章 递归与分治策略2.1 递归的概念直接或间接地调用自身的算法称为 递归算法用函数自身给出定义的函数称为 递归函数下面来看几个实例2.1 递归的概念例1 阶乘函数阶乘函数可递归地定义为:边界条件递归方程边界条件与递归方程是递归函数的二个要素递归函数只有具备了这两个要素才能在有限次计算后得出结果2.1 递归
第2章 递归与分治策略 学习要点:理解递归的概念掌握设计有效算法的分治策略通过下面的范例学习分治策略设计技巧(1)二分搜索技术 (2)大整数乘法(3)Strassen矩阵乘法(4)棋盘覆盖(5)合并排序和快速排序(6)线性时间选择(7)最接近点对问题(8)循环赛日程表将要求解的较大规模的问题分割成k个更小规模的子问题算法总体思想nT(n2)T(n2)T(n2)T(n2)T(n)=
第2章 递归与分治策略递归算法2023221算法设计与分析2023221问题定义:设a bc是3个塔座开始时在塔座a上有一叠共n个圆盘这些圆盘自下而上由大到小地叠在一起各圆盘从小到大编号为12…n现要求将塔座a上的这一叠圆盘移到塔座b上并仍按同样顺序叠置在移动圆盘时应遵守以下移动规则:3算法设计与分析2023221塔座b15塔座b三阶Hanoi塔问题塔座a2023221汉诺塔问题需要耗费的时间为
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级算法设计与分析1第2章 递归与分治策略本章主要知识点:2.1 递归的概念2.2 分治法的基本思想2.3 二分搜索技术2.4 大整数的乘法2.5 Strassen矩阵乘法2.6 棋盘覆盖2.7 合并排序2.8 快速排序2.9 线性时间选择2.10 最接近点对问题2.11 循环赛日程表22.1 递归的概念直接或间接地调用自身的算法
第2章 递归与分治策略2024-07-101《算法设计与分析》课件将要求解的较大规模的问题分割成k个更小规模的子问题。算法总体思想对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递归的进行下去,直到问题规模足够小,很容易求出其解为止。2024-07-102《算法设计与分析》课件算法总体思想对这k个子问题分别求解。如果子问题的规模仍然不够小,则再划分为k个子问题,如此递
违法有害信息,请在下方选择原因提交举报