程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 算法-漢諾塔是怎麼思考出來的

算法-漢諾塔是怎麼思考出來的

編輯:編程綜合問答
漢諾塔是怎麼思考出來的

本人菜鳥,看到這個算法的時候覺得好巧妙,但是自己怎麼也想不出來啊。。。

最佳回答:


所謂遞歸,其實人類是做不到的,因為遞歸嵌套多了,人就亂了,有點像是盜夢空間裡的深層夢境limbo,到那就幾乎回不到現實了。
但是計算機不像人類想法那麼多,尤其是基於過程的設計,你教我怎麼走我就怎麼走,不會混亂,但是你得給我定個邊界條件,要不我還是回不來。
漢諾塔的確是一個經典的遞歸問題,而人類做的最偉大的一步在於,把f(n)的問題轉化為f(n-1),推本溯源,總要找到一個origin起始點(也是結束點)。
在這方面,計算機做的比人類強太多。然而,編程的時候,寫遞歸還是挺痛苦的,主要在於邊界條件設置要很小心,錯了程序就傻傻地一去不復返啦!
至於理解一系列遞歸問題,先百度,再谷歌,多找幾個范例~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved