iohnathan
14 years ago
複雜度O(1)的演算法是否不管什麼input,所費時間都一樣?
latest #25
iohnathan
14 years ago
今天離散發考卷,跟一個人爭論了滿久
iohnathan
14 years ago
其實我發現他根本聽不進去就放棄了,後來是MrOrz在說服他
阿 棠
14 years ago
是指同一個演算法還是不同演算法但都是O(1)
立即下載
iohnathan
14 years ago
就算是同一個演算法,照大O的定義,也不能保證所花時間是常數
阿 棠
14 years ago
嗯嗯,我以為你說得時間是執行步數XD"
阿 棠
14 years ago
不過就算是這樣也不一定就是...
Egg
14 years ago
應該說是不會隨著輸入個數而增長
Egg
14 years ago
這套漸近線方法目的是要觀察執行時間和輸入大小有什麼樣的關係
Egg
14 years ago
所以O(1)只要保證對於所有輸入 都可以在一個常數的時間內完成就好了
Egg
14 years ago
並不用每次都要一樣的時間
iohnathan
14 years ago
那個人的論點是,O(1)是被誤用,演算法裡就代表常數時間,還舉例子說什麼CPU跑一個指令都花固定時間什麼的。
阿 棠
14 years ago
就算是CPU跑一個指令的"真實時間"也不會一樣吧XD
阿 棠
14 years ago
怎麼個誤用法啊?
iohnathan
14 years ago
他說O(1)跟大O的定義沒有關係,反正就是常數
johnjohnlin
14 years ago
ex: f(x)=1+x%2
johnjohnlin
14 years ago
0.5*(1)<f(x)<2.1*(1)
iohnathan
14 years ago
遇到這種人根本沒辦法討論下去
iohnathan
14 years ago
如果是在板上就變成沒完沒了的戰文了
阿 棠
14 years ago
O(1)和大O定義沒有關係這也太誇張...
johnjohnlin
14 years ago
好想跟那個人戰的說
阿 棠
14 years ago
其實我沒看懂你寫的f(x)想說什麼耶XD
阿 棠
14 years ago
「那個人」到底是誰啊XD? 這樣一直「那個人」、「那個人」,講得好像是佛地魔一樣XD
johnjohnlin
14 years ago
f(2n+1)=2,f(2n)=1
iohnathan
14 years ago
我不認識他欸
iohnathan
14 years ago
強強林讓我想到一個實際例子,給一個已排序陣列求中位數
back to top