《递归与分治策略》课件.pptx
《《递归与分治策略》课件.pptx》由会员分享,可在线阅读,更多相关《《递归与分治策略》课件.pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、递归与分治策略汇报人:目录01添加目录标题02递归的概念与原理03分治策略的概念与原理04递归与分治策略的比较与联系05递归算法的实例分析06分治策略的实例分析添加章节标题递归的概念与原理递归的定义递归是一种编程技巧,通过函数或方法调用自身来实现问题求解递归过程包括两个部分:递归基和递归调用递归基是递归结束的条件,递归调用是函数或方法调用自身的过程递归的优点是可以将复杂问题分解为简单问题,缺点是容易导致栈溢出和效率低下递归的原理递归是一种编程技巧,通过函数调用自身来实现问题求解递归函数必须有一个或多个基本情况,即不需要递归就能直接求解的情况递归函数必须有一个或多个递归情况,即通过调用自身来求解
2、的情况递归的基本思想是将一个大问题分解为若干个规模更小的子问题递归函数必须保证在有限的步骤内结束,即必须有一个终止条件递归的分类非尾递归:递归调用不在最后一行,无法优化为循环尾递归:递归调用在最后一行,可以优化为循环线性递归:递归深度为O(n)指数递归:递归深度为O(2n)直接递归:函数直接调用自身间接递归:函数通过其他函数间接调用自身递归的应用场景图形处理:如绘制分形图形、处理图像等程序设计:如递归函数、递归算法等操作系统:如进程调度、内存管理等树形数据结构的处理:如二叉树、多叉树等数学问题的求解:如阶乘、斐波那契数列等排序算法:如快速排序、归并排序等分治策略的概念与原理分治策略的定义分治策
3、略的适用条件是问题可以分解为若干个规模较小的子问题,子问题之间相互独立,子问题的解可以合并得到原问题的解。分治策略是一种将问题分解为若干个子问题,分别求解,然后将子问题的解合并,得到原问题的解的策略。分治策略的核心思想是将大问题分解为小问题,小问题再分解为更小的问题,直到问题规模小到可以直接求解。分治策略的优点是可以将大问题分解为小问题,降低问题的复杂度,提高求解效率。分治策略的原理分治策略是一种将大问题分解为小问题,分别求解,最后合并求解结果的策略。分治策略的核心思想是将一个问题分解为若干个规模更小的子问题,然后分别求解这些子问题,最后将子问题的解合并得到原问题的解。分治策略的适用条件是问题
4、可以分解为规模更小的子问题,且子问题的解可以合并得到原问题的解。分治策略的优点是可以降低问题的复杂度,提高求解效率。分治策略的分类直 接 分 治:将 问 题 直 接分 解 为 若 干个 子 问 题,然 后 分 别 求解递 归 分 治:将 问 题 分 解为 若 干 个 子问 题,然 后递归求解动 态 规 划:将 问 题 分 解为 若 干 个 子问 题,然 后动 态 规 划 求解贪 心 算 法:将 问 题 分 解为 若 干 个 子问 题,然 后贪心求解分支限界法:将 问 题 分 解为 若 干 个 子问 题,然 后分 支 限 界 求解分治策略的应用场景l快速排序:将数组分为两部分,分别排序,然后合并
5、l归并排序:将数组分为两部分,分别排序,然后合并l二分查找:将数组分为两部分,分别查找,然后合并l矩阵乘法:将矩阵分为四部分,分别计算,然后合并l图的遍历:将图分为两部分,分别遍历,然后合并l字符串匹配:将字符串分为两部分,分别匹配,然后合并递归与分治策略的比较与联系递归与分治策略的相似之处都可以降低问题的复杂度都可以重复使用相同的算法都可以将大问题分解为小问题都是一种解决问题的方法递归与分治策略的不同之处递归:通过函数调用自身来解决问题,适用于解决具有重复性的问题分治:将问题分解为多个子问题,分别解决后再合并结果,适用于解决规模较大的问题递归:需要栈空间来保存函数调用信息,可能导致栈溢出分治
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 递归与分治策略 递归 分治 策略 课件
限制150内