设计一个算汰求解[tex=2.857x1.0]Zes1jU4ruiOEyJIvBU8Wdg==[/tex]问题 : 有三根柱子[tex=0.714x1.0]AiT6fhT2pvop+UvpD2oClg==[/tex][tex=3.714x1.286]jCeyqxNw3rUQvLZ/7DFe0Q==[/tex] 有 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]个半径不同的中间有孔的圆盘,这[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]个圆盘在柱子[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 上,从上往下半程依次增大。要求把所有圆盘移至目标盘 [tex=0.714x1.0]YiLkHgl7MlxE+QjUplQUKA==[/tex]上, 可将柱子[tex=0.786x1.0]ri6gmnf1+J9dGqG5/1sV6A==[/tex]作为辅助柱,移动圆盘时必须服从以下规则[tex=1.286x1.357]VAHhaW1te0xvoqDVN54/dg==[/tex]每次只可搬动一个圆盘。[tex=1.857x1.286]q6stUxRkyneRT9AdCNOTIw==[/tex]任何柱子上都不允许大圆盘在小圆盘的上面。 并分析算法的时间复杂度。
举一反三
- 设计一个算法求解 Hanoi 问题: 有三根柱子[tex=2.786x1.214]jCrpwkxG1Z6ykeszIXcUxw==[/tex], 有[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]个半径不同的中间有孔的圆盘,这[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]个圆盘在柱子[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]上,从上往下半径依次增大。要求把所有圆盘移至目标盘[tex=0.714x1.0]YiLkHgl7MlxE+QjUplQUKA==[/tex]上, 可将柱子[tex=0.786x1.0]sHo1pKm+gjxjcUAJjHrarQ==[/tex]作为辅助柱,移动圆盘时必须服从以下规则:(1) 每次只可搬动一个圆盘。(2) 任何柱子上都不允许大圆盘在小圆盘的上面。并分析算法的时间复杂度。
- [[tex=2.857x1.0]Zes1jU4ruiOEyJIvBU8Wdg==[/tex]塔问题] [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]阶[tex=2.857x1.0]Zes1jU4ruiOEyJIvBU8Wdg==[/tex]塔问题是这样的: 假设有三个分别命名为[tex=0.857x1.0]N7iCrOsS+NNEUUlnsYCi1g==[/tex],[tex=0.643x1.0]O+viFNA0oHTwnBtQyi80Zw==[/tex] 和[tex=0.714x1.0]A/RYZa+bKKYYpjzBS/r5ng==[/tex]的塔座,在塔座[tex=0.786x1.0]yFLhNWXdy+71qunyuRVv1A==[/tex]上插有[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]个直径大小各不相同、依小到大编号为 1,2,[tex=1.286x0.786]lRSLJav0cvc1uYdx/9plcw==[/tex],[tex=0.643x0.786]35ReWWGs/YPu3n9y5K5w7g==[/tex]的圆盘, 如下图所示。现要求将塔座[tex=0.857x1.0]N7iCrOsS+NNEUUlnsYCi1g==[/tex]上的[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]个圆盘移至塔座 [tex=0.714x1.0]A/RYZa+bKKYYpjzBS/r5ng==[/tex]上并仍按同样顺序叠排,圆盘移 动时必须遵守下列规则:(1) 每次只能移动一个圆盘,(2) 圆盘可以插在[tex=0.857x1.0]N7iCrOsS+NNEUUlnsYCi1g==[/tex],[tex=0.643x1.0]O+viFNA0oHTwnBtQyi80Zw==[/tex] 和[tex=0.714x1.0]A/RYZa+bKKYYpjzBS/r5ng==[/tex]中任塔座上,(3)任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。请写一算法, 打印出正确的操作步骤。要求先用递归函数上机实现一般[tex=2.857x1.0]Zes1jU4ruiOEyJIvBU8Wdg==[/tex]塔问题,伏后改用非逆归函数解同样的问题,并与递归函数进行比较。[img=402x132]179f628d531860b.png[/img]
- 当 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex] 阶矩阵 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 适合条件 ( ) 时,它必相似于对角阵. 未知类型:{'options': ['[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]\xa0有\xa0[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]\xa0个不同的特征向富', '[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]\xa0是上二角矩阵', '[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]\xa0有\xa0[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]\xa0个不同的特征值', '[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]\xa0是可逆矩阵'], 'type': 102}
- 证明 8.1 节层次分析模型中定义的[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]阶一致阵[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]有下列性质:(1) [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]的秩为 1 ,惟一非零特征根为[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex];(2)[tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex]的任一列向量都是对应于[tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex]的特征向量.
- 设 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 是 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex] 阶矩阵,[tex=6.357x1.214]ktGtmiDKstx7m1f25N9jwZT5aYsjOrhIKRDobbavw6Q=[/tex] 是 [tex=0.786x1.0]b4HkKtHXeHofHX/gJc8Agg==[/tex] 的 [tex=0.643x0.786]/he/ol8BkDuTTL9yMPtH4Q==[/tex] 个特征值,求行列式 [tex=3.357x1.357]m48DvRt0hjjMuVqGpYAvJg==[/tex] 的值.