為什麼要這樣定義大O表示法啊?通俗一點描述,最好有例子。?

時間 2021-05-31 12:01:40

1樓:zball

因為複雜度分析一般是分析上界而不是確界,因為有時確界很難分析。

這樣定義大O差不多給出了足夠的資訊而不至於在細節上繁瑣。

很簡單的例子:比如你的時間複雜度分析到intrinsic count,那latency和cycles per intrin是不是也要count...?cache是不是也要count...?

branch prediction是不是也要count..?這樣的分析就不具有inter-environment scalability.何況很多時候並不能很好地count這些東西。

如果你的複雜度只分析到polynomial、polylog和exponential、subexponential這些類,是不是也缺少資訊。。?比如說乙個次數很高的polylog和乙個次數很低的polynomial time..還有很多問題都是有很簡單的polytime sol的,你就沒法比較演算法優劣。

更何況O()在數學上也相當方便。

最後乙個原因就是約定俗成。不過主要還是因為它方便可靠。

最後,如果需要比較精確分析的話,可以寫

Hn=ln n+eulergamma+1/2n+O(1/n^2)O項作為乙個誤差項

c 陣列定義為什麼會這樣?

wzf2000 初始化問題不說了,前面的答主說的夠了。至於為什麼會TLE,可以想想輸入的不足四位數會怎樣。結合前面答主所說就可明白。至於那位說會CE的答主,可能不知道在MinGW或類似編譯環境下std string確實是可以直接呼叫的,一般OJ也不太可能使用MSVC做編譯環境。換句話說,不同編譯環境...

想問一下當年狄拉克為什麼要這樣定義 Klein Gordon 方程的概率密度?

我已經宣布永久退乎了,但是對於這個問題,我覺得有必要以乙個長者的身份,教育你一下。首先 概率密度為波函式的模平方這個錯覺是怎麼來的?因為這是Schroedinger方程的的推論,而你在初等量子力學當中只學到了這個,考慮全空間中中發現粒子的機率隨時間的變化,由於所以我們利用Schroedinger方程...

君合這樣的紅圈所為什麼要錄製《令人心動的offer》這個綜藝?

沉哥 說實話我也不知道,其實律所最好是別碰娛樂圈的東西,費力不討好。但我得為君合講句話,之前實習過,當然現在已經不在了。但當年實習的時候,君合還是給了年輕 sb還會辦錯事的我,充分的保護和尊重。怎麼說呢,不管有多少人因為offer黑君合,他都是中國境內法律服務機構的巔峰,也是一家極具人文關懷的律所。...