算法导论之数学归纳法和递归
推理是一种逻辑思维,一种方法论,归纳推理是从个性推导到共性的过程,而演绎推理则从共性递推到个性的过程。事物的一般性和特殊性,是推理方法的基点,通过下面例子来简单理解下归纳推理是如何从特殊上升到一般。
数学归纳法首先证明起点值命题成立,然后证明从n值到n+1的过程有效,而后任意值递推可得。
证明自然数N的阶乘N!步骤:
已知N!=N*(N-1)*(N-2)*(N-3)*…*2*1,当N=1时 N!=1,设当R(N)=N!,证明R(N+1)=(N+1)!成立。
证明过程:R(N+1)=(N+1)!=(N+1)*(N)*(N-1)*…*2*1=(N+1)*N!=(N+1)*R(N)=(N+1)!
显然递归也是利用数学归纳法的思想来构造函数,对于阶乘N!的递归函数实现如下:
factorial(int N){
if (N ==1) return 1; /*退出*/
return N * factorial (N - 1) /*递归*/
}
递归函数所蕴含的递推思想,正和数学归纳法相通。递归式主函数定义如下:
就不开展,对(n/b)分别在整合幂、上取整、下取整的情况。
算法导论之数学归纳法和递归相关推荐
- 算法导论 — 4.4 用递归树方法求解递归式
笔记 在应用代入法求解递归式时,需要事先做出一个好的猜测.然而,有时候做出好的猜测是很困难的,此时可以考虑采用递归树方法.在递归树中,每个结点表示一个单一子问题的代价.创建递归树之后,对树的每层的各子 ...
- 算法导论-3.递归部分习题选
这一部分主要算法导论中递归式.堆排序和快速排序章节里选择的对我而言较有价值的题目. 练习4.1-1 证明 $T(n)=T(\lceil n/2\rceil)+1$ 的解为 $O(\lg n)$ . 解 ...
- 给出TREE_INSERT过程的非递归版本(算法导论第三版12.3-1)
给出TREE_INSERT过程的非递归版本(算法导论第三版12.3-1) template<typename T> void insert_recursive(BinaryTree< ...
- 写出TREE-MINIMUM 和TREE-MAXIMUM的递归版本(算法导论第三版12.2-2)
写出TREE-MINIMUM 和TREE-MAXIMUM的递归版本(算法导论第三版12.2-2) template<typename T> BinaryTreeNode<T>* ...
- 非递归遍历二叉树(算法导论第三版第十章10.4-5)
非递归遍历二叉树(算法导论第三版第十章10.4-5) template<typename T> void TraverseBinaryTreeNonRecursive(BinaryTree ...
- 给定一个n节点二叉树,写出一个O(n)时间的非递归的过程,将该树每个结点的关键字输出(算法导论第三版第十章10.4-5)
给定一个n节点二叉树,写出一个O(n)时间的非递归的过程,将该树每个结点的关键字输出.要求除该树本树的存储空间外只能使用固定量的额外存储空间,且过程中不得修改该树,即使是暂时的修改也不允许. (算法导 ...
- 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)
给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构 (算法导论第十章10.4-3) template<typename T> ...
- 给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出(算法导论第十章10.4-2)
给定一个n节点的二叉树,写出一个O(n)时间递归过程,将该树每个节点关键字输出 (算法导论第十章10.4-2) #include <iostream> template<typena ...
- 【算法导论-主定理】用主方法求解递归式 学练结合版
问题:若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN 且 T(1)=1 则该算法的时间复杂度为( ). O(Nsqrt(N)) O(NlogN) O(N(logN)^2) O ...
最新文章
- java变量初始化0.00
- ubuntu16.04x下搜狗输入法无法输入中文
- Dagger2 在 Android 项目的正确使用方式【完整篇】
- 怎样应对“需求不确定型项目”?
- 分享一本有关数据结构的书籍(Python版)
- threadpooltaskexecutor线程池使用_线程池的理解及使用
- 我的日常Vim使用--凌波微步
- 多变量遗传算法python代码_遗传算法介绍并附上Python代码
- Ubuntu20安装向日葵
- 威联通建php邮件服务器_威联通 ※ 群晖 虚拟机性能对比 我可能要碰瓷 eSir
- 谷歌应用程序无法启动,因为应用程序的并行配置不正确的问题解决方案
- python教程视频 网盘-Python最新全套视频教程百度网盘资源
- 编译udf小软件(附视频教程)
- Hibernate5相关特性参考
- openssl官网-下载安装过程
- sdkman的介绍、安装及使用
- 15个值得推荐的个人提升方法
- 如何快速计算汉字笔画数
- string拼接时去掉最后一个逗号
- 库函数讲解及模拟实现库函数
热门文章
- uniapp下载文件保存自定义目录
- HTC-G4刷机过程
- 小学计算机考试模板,小学信息技术考试方案模板.doc
- 亚马逊国际获得AMAZON商品详情 API
- PSM倾向性评分分析介绍、spss进行倾向性评分分析示例
- 英语敢死队 第三周学习总结感受
- 古堡算式_经典的全排列问题(福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也)
- 虚拟现实中的眼睛跟踪
- 谷歌浏览器实验室的小功能
- 关键词优化难易程度如何判断?