public static void hanoi(int n, String sourceTower, String tempTower, String targetTower) { if (n == 1) { //如果只有一个盘子1,那么直接将其从sourceTower移动到targetTower move(n, sourceTower, targetTower); } else { //将(盘子n-1~盘子1)由sourceTower经过targetTower移动到tempTower hanoi(n - 1, sourceTower, targetTower, tempTower); //移动盘子n由sourceTower移动到targetTower move(n, sourceTower, targetTower); //把之前移动到tempTower的(盘子n-1~盘子1),由tempTower经过sourceTower移动到targetTower hanoi(n - 1, tempTower, sourceTower, targetTower); } } //盘子n的从sourceTower->targetTower的移动 private static void move(int n, String sourceTower, String targetTower) { System.out.println("第" + n + "号盘子 move:" + sourceTower + "--->" + targetTower); }7 总结分析
分治法将规模为 n 的问题分成 k 个规模为 n/m 的子问题去解 。设分解阀值 n0 = 1,且 adhoc 解规模为 1 的问题耗费 1 个单位时间 。再设将原问题分解为 k 个子问题以及用 merge 将 k 个子问题的解合并为原问题的解需用 f(n) 个单位时间 。用T(n)表示该分治法解规模为 |P| = n 的问题所需的计算时间,则有:
T(n)= k T(n/m) + f(n)
推荐阅读
- ios的听觉是干什么的 ios听力图
- 梦见游泳池里游泳 梦见泳池里游泳是什么预兆
- 孕妇梦见煤气罐爆炸是什么意思 做梦梦见煤气罐爆炸是什么意思
- 梦见吃鱼吃肉是什么意思 梦见吃鱼肉是什么意思,预兆
- 滇红茶是红茶吗
- 滇红是红茶吗 怎样鉴别滇红茶
- 政和工夫的品质特征是什么政和工夫有什么保健功能
- 藤木家具什么品牌好
- 百喜草养护注意事项
- 古良吉吉是几线品牌,古良吉吉属于品牌吗
