2010-09-28 44 views
1

的塔我如何解決在河內問題的塔運行時間。我得到了像t(n)= 2t(n-1)+ 1這樣的遞歸關係。繪製遞歸樹後,我得到每一步的值,如1 + 2 + 4 + 8 ...樹的高度爲lg (N)。我如何計算系列的總和?我什麼時候停止?解決問題河內

回答

6

你得到在遞歸樹的每個級別2的冪因此,總和爲:2^0 + 2^1 + 2^2 + ... + 2^{n-1}

這是一個幾何總和:http://en.wikipedia.org/wiki/Geometric_progression

S(n) = 1 + 2 + 4 + ... + 2^{n-1}。然後:S(n) - 2*S(n) = 1 - 2^n

最後:S(n) = 2^n - 1

+0

不應該是2^n。我很容易出錯。 – shreyasva 2010-09-28 14:13:07

+1

你可以通過嘗試小案例來發現。對於'n = 1',你得到'2^0'。對於'n = 2','2^0 + 2^1'。所以最高指數是'n-1',而不是'n'。 – 2010-09-28 14:21:27

+0

@ user265260:Cooper先生有正確的金額。用這種方式考慮一下:具有n位的無符號整數可表示的最大值是多少?這與n位可以表示的值的數量不同,因爲0是這些值之一。 – andand 2010-09-28 14:23:01

2

你檢查http://en.wikipedia.org/wiki/Tower_of_Hanoi?你擁有一切。

+8

@ user265260:你永遠不指定。不要因爲你的問題沒有說清楚而給出答案。 – Daenyth 2010-09-28 14:17:11

+1

@ user265260:顯然你沒有看過維基百科文章,因爲你的問題的答案在那裏。 – LarsH 2010-09-29 02:08:45