递归笔记
来源:互联网 发布:看门狗软件下载 编辑:程序博客网 时间:2024/05/01 21:52
1.递归满足的条件:
1)必须能够鉴别出一个简单情景,且该情景的答案是容易确定的。
2)必须能够确认一个递归的分解方式,能够将问题的复杂实例分解为更小的、具有相同形式的问题。
2.递归函数的模板:
3.交互递归:为了做到递归,函数必须在其执行中的某点调用自己。如果某个函数被细分成几个子函数,那么可以在更深的嵌套层次上应用递归调用。例如,如果函数f调用g,反过来g又调用f,这些函数的调用仍被看作是递归的。因为函数互相调用,所以称为交互递归。
4.利用包装函数解决原问题与子问题不对称的情况:将原问题定义为一个包装函数,然后调用另一个辅助函数来解决更普通的问题。
5.如何避免递归中常见的错误:
l 检验递归实现是不是以检查简单情景开始。
l 是否正确地解决了简单情景
l 递归分解是否使问题更简单了
l 简化的过程是不是逐渐地达到了简单情景,或者是不是遗漏了一些可能性
l 函数中的递归调用是不是表示了在形式上和初始问题真的完全相同的子问题
l 是否能够将子问题重新组装称为原问题?
6.回溯问题一般都可以用递归的形式解决,函数模板:
7.链表的递归操作:
0 0
- 递归笔记
- 学习笔记-递归,重载
- 递归学习笔记
- 递归学习笔记
- 递归学习笔记
- 左递归文法笔记
- 笔记一:递归
- 递归函数优化(笔记)
- 关于递归的笔记
- C#递归学习笔记
- 递归算法笔记
- Linux学习笔记--递归
- 学习笔记----递归函数
- JAVA递归学习笔记
- 递归学习(笔记)
- mybatis递归查询笔记
- 算法学习笔记:递归
- 递归调用学习笔记
- eclipse + tomcat web project引用其他java project配置
- Session机制详解
- SugarCRM源码分析之ViewFactory
- 京东面试记录
- 【spring mvc(二)】spring mvc使用属性文件配置c3p0和dbcp数据源
- 递归笔记
- cdrtools-3.02 arm7 交叉编译通过
- 机顶盒 gridview 焦点位置效果动画添加
- UsageStatsManager怎样使用问题详解和获取应用使用信息
- 安卓中的Model-View-Presenter模式介绍[Introduction to Model View Presenter on Android]
- windows下gvim隐藏工具栏
- Intersection of Multiple Arrays Sorted Unsorted
- NYoj35 表达式求值
- poj-2828-Buy Tickets(线段树)