四柱子汉诺塔—递归—递推
生活随笔
收集整理的這篇文章主要介紹了
四柱子汉诺塔—递归—递推
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
三塔:遞推式:d[n] = 2 * d[n-1] + 1
?即把前n-1個盤子從A柱移到B柱,然后把A柱上剩的那一個盤子移動到C柱,最后把B柱上的那n-1個盤子移動到C柱上
四塔:遞推式:f[n] = min{2 * f[i] + d[n - i]}
初始化:f[1] = 1(一個盤子在4塔模式下移動到D柱需要1步)
先把i個盤子在4塔模式下移動到B柱,
然后把n-i個盤子在3塔模式下移動到D柱(因為不能覆蓋到B柱上,就等于只剩下A、C、D柱可以用)
最后把i個盤子在4塔模式下移動到D柱
考慮所有可能的i取最小值,即得到上述遞推公式
總結
以上是生活随笔為你收集整理的四柱子汉诺塔—递归—递推的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS报错LNK1104原因之:引入外部库
- 下一篇: 阿里云centos7自带mysql_阿里