【组合数学】递推方程 ( 递推方程示例 2 汉诺塔 | 递推方程示例 3 插入排序 )
文章目录
- 一、递推方程示例 2 汉诺塔
- 二、递推方程示例 3 插入排序
一、递推方程示例 2 汉诺塔
Hanoi 问题 :
- 递推方程为 : T(n)=2T(n−1)+1T(n) =2 T(n-1) + 1T(n)=2T(n−1)+1
- 初值 : T(1)=1T(1) = 1T(1)=1
- 解 : T(n)=2n−1T(n) = 2^n - 1T(n)=2n−1
该递推方程表示 , 将 nnn 个盘子的移动次数 T(n)T(n)T(n) , 与 n−1n-1n−1 个盘子的移动次数 T(n−1)T(n-1)T(n−1) 之间的关系 ;
解法参考 : 【组合数学】递推方程 ( 特特解示例 ) 一、特解示例 1 ( 汉诺塔 )
二、递推方程示例 3 插入排序
W(n)W(n)W(n) 表示在最坏的情况下插入排序的次数 ;
前面的 n−1n-1n−1 个数已经排好了 , 其在最坏的情况下插入排序次数是 W(n−1)W(n-1)W(n−1) 次 ,
第 nnn 个数字要插入到这 n−1n-1n−1 个数字中 , 最坏的情况是 要插入的数字要与所有的已排序好的 n−1n-1n−1 个数字进行比较 , 对比次数是 n−1n-1n−1 次 ,
因此递推方程可以写成 : W(n)=W(n−1)+n−1W(n) = W(n-1) + n-1W(n)=W(n−1)+n−1
递推方程初值 : W(1)=0W(1) = 0W(1)=0 , 如果只有一个数字 , 不用进行排序 , 对比次数是 000 ;
最终解为 : W(n)=O(n2)W(n) = O(n^2)W(n)=O(n2) , 精确值为 W(n)=n(n−1)2W(n) = \cfrac{n(n-1)}{2}W(n)=2n(n−1)
【组合数学】递推方程 ( 递推方程示例 2 汉诺塔 | 递推方程示例 3 插入排序 )相关推荐
- hdu 2064汉诺塔III 递推
汉诺塔递推题,比汉诺塔多了一个限制条件,盘子只允许在相邻的柱子之间移动. 分析: 第1步:初始状态: 第2步:把上面的n-1个盘移到第3号杆上: 第3步:把第n个盘从1移到2: 第4步:把前n-1个从 ...
- C#游戏介绍大全,包括不限于(连连看、扫雷、推箱子、贪吃蛇、汉诺塔、消消乐、俄罗斯方块、飞机大战、坦克大战...)
文章目录 题目 WPF贪吃蛇(彩色版) 飞机大战 象棋 五子棋 1 连连看 2 黑白棋 3 汉诺塔 4 推箱子 5 扫雷 6七巧板 8 人物拼图1 9 人物拼图2 10 停车场游戏 11 坦克大战 1 ...
- Strange Towers of Hanoi 汉诺塔问题及其升级(递推)四个汉诺塔问题
今天学习递推的汉诺塔问题,非常的有趣 文章目录 1.汉诺塔问题来源 分析 2.Strange Towers of Hanoi[DP][递推] 题目大意: 思考 解题步骤: 1.汉诺塔问题来源 汉诺塔( ...
- HDU2077 汉诺塔IV【递推+打表】
汉诺塔IV Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- 【递推】HDU1207汉诺塔II 【汉诺塔及汉诺塔变形 归纳】
汉诺塔问题 设f(n)为移动n层的汉诺塔的解,则整个过程其实分为三步: 把n-1层移到第二个上面去(花费f(n-1)) 把最大的移到第三个柱子上面去(花费1) 把n-1层移动到第三个柱子上去(花费f( ...
- 【YBT高效进阶】1基础算法/1逆推算法/2奇怪汉诺塔
[YBT高效进阶]1基础算法/1逆推算法/2奇怪汉诺塔 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 汉诺塔问题,条件如下: 这里有 ...
- 递归 (一): 递归思想与 C++ 中的递归函数及两个递归应用示例 (斐波那契, 汉诺塔)
您也可以在我的个人网站中查看此文:http://zhaokaifeng.com/?p=1502 谢谢您的访问 : ) 什么是递归 从汇编层面上看递归 在汇编层面上, 递归可以看作是两个循环, 每个循环 ...
- 用python编写一个汉诺塔的移动函数_python实现的汉诺塔算法示例
本文实例讲述了python实现的汉诺塔算法.分享给大家供大家参考,具体如下: 规则: 圆盘从下面开始按大小顺序重新摆放在另一根柱子上.并且规定 在小圆盘上不能放大圆盘 在三根柱子之间一次只能移动一个圆 ...
- 基础算法 —— 递归/递推 —— 汉诺塔问题(Hanoi)
[问题提出] Hanoi塔由n个大小不同的圆盘和三根木柱a,b,c组成.开始时,这n个圆盘由大到小依次套在a柱上,如图所示. 要求把a柱上n个圆盘按下述规则移到c柱上: (1)一次只能移一个圆盘: ...
最新文章
- QPS/TPS/并发量/系统吞吐量概念和公式
- “保持耐心”,永远从用户角度出发— 专访阿里巴巴淘系技术内容中台负责人吴桂林(梁舒)...
- mysql对数据库的操作_MySQL数据库对数据库的操作
- 请分析比较下列四种染料在相同浓度和相同温度的水染液中的聚集度大小?
- JavaScript 中的函数介绍
- 【ElasticSearch】ElasticSearch immense term错误
- dedecms有缩略图则显示缩略图,没有则显示随机缩略图
- 传输请求时报信息对象0REQ_CDATE不存在
- Java迭代器的一致_ArrayList中迭代器(Iterator)实现
- 74ls138和与非门设计全减器,用74LS138和门电路设计1位二进制全减器
- ANSYS 有限元分析 加载/求解/输出
- app系统软件开发外包的费用:开发app多少钱的费用?
- 西游记中金箍棒的来历和巨大威力
- SQL Server 教程 之 一目了然
- Python摆脱黑窗口的方法
- 项目风险应对策略总结
- 人工智能的嘴巴——语音合成(Text to Speech | TTS)
- 禁用系统【快应用】,停止【快应用】自动弹出
- win10/win1桌面图标锁定,防止桌面图标移动
- 软件项目管理第4版课后习题-期末复习题型分册版-带答案
热门文章
- JspServlet之Cookie
- 5.1 指针与地址 (C)
- @EnableGlobalMethodSecurity(prePostEnabled = true)
- 远程桌面与本地桌面实现文件传输
- win10+ubuntu14.04双系统硬盘安装教程
- java--static关键字
- C++--在单文档的应用程序增加多个视图
- JavaScript使用localStorage缓存Js和css文件
- 解决django.db.utils.InternalError: (1049, Unknown database 'exam_db')
- 每天一个Linux命令 7