漢諾塔問題補充分析

        漢諾塔問題之前也介紹過了,不過總覺得理解不夠深刻,今天看了清華的那版數據結構後,感覺還是有新的理解。書上的漢諾塔解法也是運用遞歸的方法,不過它介紹了系統是如何分配函數的運行控制權的。函數的調用其實在系統中也是放在棧中,後進先調用的思想。之前一直沒理解好的原因,可能也是在於漢諾塔的解法兩次用到遞歸,這樣一層的函數會停留兩次,所以容易混洗。

      補充下,棧也是一種特殊的線性表,只是它只能對錶尾(棧頂)進行插入和刪除等操作,所以就形成的後進先出的模式。其次,函數運行時壓入棧的有地址,參變量等信息。在調用完後會出棧,釋放其空間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章