執行時間中的O是什麼意思,C中的時間複雜度O1與On有什麼區別

2021-05-30 22:45:52 字數 2427 閱讀 8883

1樓:hao大森

我們常用大o表示法表示時間複雜度,注意它是某一個演算法的時間複雜度。

時間是人類用以描述物質運動過程或事件發生過程的一個引數,確定時間,是靠不受外界影響的物質週期變化的規律。例如月球繞地球週期,地球繞太陽週期,地球自轉週期,原子**週期等。

愛因斯坦說時間和空間是人們認知的一種錯覺。大**理論認為,宇宙從一個起點處開始,這也是時間的起點。

但是時間往往如流水一般過得很快,俗話說的一寸光陰一寸金,寸金難買寸光陰。就是這個道理。時間就像海綿裡的水,只要願意擠,總還是有的。

一種按全球統一的時區系統計量的時間。 每當太陽當頭照的時候,就是中午12點鐘。但不同地方看到太陽當頭照的時間是不一樣的。

例如,上海已是中午12點時,莫斯科的居民還要經過5個小時才能看到太陽當頭照;而澳大利亞的悉尼人早已是下午2點鐘了。

c++中的時間複雜度o(1)與o(n)有什麼區別

2樓:杜xiao若

c++中的bai時間複雜度o(du1)與o(n)的主要區別在於:zhi

1、時間複雜度o(1)是常數階

dao,其基本

內操作重複執行的次數是一個固定的容常數,執行次數不存在變化;

2、而時間複雜度o(n)是線性階,其基本操作重複執行的次數是與模組n成線性相關的,其值會隨著模組n的變化而變化,當模組n的規模確定為定值後,其時間複雜度轉化為o(1)。

擴充套件資料1.時間複雜度的計算方法:

一般情況下,演算法中基本操作重複執行的次數是問題規模n的某個函式,用t(n)表示,若有某個輔助函式f(n),使得t(n)/f(n)的極限值(當n趨近於無窮大時)為不等於零的常數,則稱f(n)是t(n)的同數量級函式。記作t(n)=o(f(n)),稱o(f(n)) 為演算法的漸進時間複雜度,簡稱時間複雜度。

3樓:幻夢·人生

時間複雜度是

來一個函源數,它定量描述了該bai演算法的執行時間。常du

見的zhi時間複雜度有以下幾種。

1,daolog(2)n,n,n log(2)n ,n的平方,n的三次方,2的n次方,n!

1指的是常數。即,無論演算法的輸入n是多大,都不會影響到演算法的執行時間。這種是最優的演算法。而n!(階乘)是非常差的演算法。當n變大時,演算法所需的時間是不可接受的。

用通俗的話來描述,我們假設n=1所需的時間為1秒。那麼當n = 10,000時。

o(1)的演算法需要1秒執行完畢。

o(n)的演算法需要10,000秒 ≈ 2.7小時 執行完畢。

o(n2)的演算法需要100,000,000秒 ≈ 3.17年 執行完畢。

o(n!)的演算法需要******xx(系統的計算器已經算不出來了)。

可見演算法的時間複雜度影響有多大。

所以o(1)和o(n)差了2.7小時,區別顯而易見。

4樓:匿名使用者

你理解錯了,bai

我舉個du例子:

你設計了一個字串zhi類:客

dao戶有時需要知道字串的專長度,

所以有兩種屬設計getlength()函式的方法1。每次客戶詢問長度,你都用迴圈檢測串長,即for(i=0;str[i]!=0;++i)這樣效率低 時間複雜度o(n)

2 每次串內容改變時才算長度,算好後存起來,以後客戶需要知道字串的長度就直接把變數值返回這樣效率高 時間複雜度o(1)

5樓:匿名使用者

o(1)複雜度是與輸入資料copy

無關,baio(n)是與輸入資料成正比。

對於du程式zhia,for(int i=0;i<1000;i++),當輸入任意的n時迴圈次數dao均為1000,複雜度為o(1);

對於程式b,for(int i=0;i

演算法分析中o(n)什麼含義

6樓:匿名使用者

^o(n)這個大o表示的是最來壞源情況下的時間複雜度,就比如你舉的例子,一共n^3次乘法和n^3次加法,那麼加起來就是2×n^3。 然後如果有一個表示式f(n),使得n趨於無窮大的時候,lim(2×n^3)/f(n)=常數c,那麼就可以用大o表示。表示為o(f(n)),而且規定f(n)的表示式是不帶常數的係數的,那麼在這裡f(n)=n^3。

一般用大o表示演算法複雜度只需要取次數最高的項,而且去掉係數就ok了,不用每次都這麼算的。三重迴圈而且每重迴圈都執行n次的話直接o(n^3)就好了。

7樓:匿名使用者

o(bain) 表示執行時間的上界du 通俗點說就是演算法執行的zhi

最壞情況該程式dao有三重循

環 由c[i][j]=c[i][j]+a[i][k]*b[k][j];可知進行一回次答乘法必進行一次加法 故t(n)<=n^3+n^3=2n^3=**^3故t(n)=o(g(n))=o(n^3)

C中的是什麼意思,C中的0是什麼意思?

是傳引數用的。表示傳遞第一個引數也就是後面的name console.writeline hello,name 是輸出name的值 是 第一個佔位符號 是第二個佔位符號 是第3個佔位符號 如 string name hao man console.writeline hello,name,輸出 he...

c 中 的意思,C 中 是什麼意思

賦值運算子 bai中有 運算du符,其作用是在左邊zhi的變數上加上右邊的值dao 例如 i 1等同 專於i i 1 從彙編的角度講,屬i i 1 要比i 1 消耗更多的時間和資源。現在的編譯器考慮到了初學者容易犯這類錯誤,會自動將i i 1 這樣的語句優化成類似i 1 的形式。另外,自增1還有更簡...

o2o模式中的2是什麼意思,O2O中的2是什麼意思,怎麼理解

020是一個大型創業平臺,線上是 線下是實體店,線上線下相結合一模式,三網合一,簡稱020,o2o中的 2 是什麼意思,怎麼理解 2就是to的意思。o2o的意思就是online to offline線上到線下。2 是to 的簡寫,o2o就是線上到線下的意思 2 英文to 意思 online to o...