2010-10-07 119 views
0
while (n >= 1) 

n /= 2; 

我無法獲得大O符號此大O符號幫助

+15

拜託。認真地,嘗試一些數字,看看你是否檢測到一個模式,如果它不是代數明顯的。 – Pointy 2010-10-07 23:24:04

+0

這不是一個問題。 – JoshD 2010-10-07 23:26:23

回答

4

任何算法減少了一半每次問題是O(日誌(N))。

+8

一般而言,當問題被標記爲家庭作業時,想法是給他們提示解決問題,而不是直接給他們答案。這讓他們瞭解問題,這是作業的重點。如果你也給出解釋, – Paul 2010-10-07 23:29:20

+1

會很棒。 – zengr 2010-10-07 23:29:48

+2

如果一位教師實際上只給答案一個問題全額分數,我認爲是錯誤的。有時候,在回答問題和倒退時問題會更好理解,然後問題變得更容易理解。 – Anthony 2010-10-07 23:31:35

5

我只是爲了說明而遵循波蒂的建議。

嘗試8.

4 2 1 0: 4 iterations. 

嘗試32

16 8 4 2 1 0: 6 iterations. 

嘗試66

33 16 8 4 2 1 0: 7 iterations. 

那麼......在最初的數字不斷變化,以及如何迭代的數量變化?

+0

66不應該是'33 16 8 4 2 1 0'嗎? – Paul 2010-10-07 23:34:32

+0

@Paul:固定:P – Potatoswatter 2010-10-07 23:52:08

+0

足夠接近我想。 :P – Paul 2010-10-08 00:03:01

-1

T(N)= O(日誌 N)