計算機基礎學科專題《基礎知識,時間複雜度基礎認識》

2021-08-30 04:37:09 字數 1051 閱讀 2294

時間複雜度:用來定性的描述演算法的執行時間的乙個函式,更類似於乙個耗時的趨勢,函式表示為:o(f(n))

名詞解釋:

穿起來:

演算法中各種**操作所執行的總次數用t(n)表示,存在某個函式f(n),使得t(n) / f(n) = (非零常數),那麼f(n)稱為t(n)的同數量級函式(類想一下,在座標軸中,當入參n趨於無窮時,兩條曲線的商為常數),即:t(n) = o(f(n)),o(f(n))就是時間複雜度,o符號表示乙個漸進常數.,在這個函式中可以忽略低階項和首項係數。

1.演算法決定效能,演算法分為時間複雜度和空間複雜度,這也是常說 「時間換空間,空間換時間」 由來了

2.看上面概念已經基本知道時間複雜度是個什麼東西了,下面看些例子,由簡入深

2.1 時間複雜度為:o(1)

public void fun1()
2.2 時間複雜度為o(n)

public void fun1() 

}

所以t(n)=1+1+n+n=2n+2 = n,即時間複雜度為:o(n),時間複雜度是表示乙個函式的趨勢,並不代表具體值,當n趨於無窮大時,可以忽略低階項和首項係數

2.3 時間複雜度為o(n²)

public void fun1() 

}}

t(n)=1+1+n+nn+nn=2n²+2n+2=n²

…常規的**的演算法是有規律的:看幾重迴圈,只有一重則時間複雜度為o(n),二重為o(n^2);如果有二分則為o(logn),二分例如快速冪、二分查詢,如果乙個for迴圈套乙個二分,那麼時間複雜度則為o(nlogn)

常見時間複雜度有(按增長率):

1.常數階o(1)

2.對數階o(logn)

3.線性階o(n)

4.線性對數階o(nlog2n)

5.k方階:o(n^k),一般控制k的大小,否則就和指數階一樣了,這是很可怕的

6.指數階:o(2^n),一般不用,效能太差

計算機基礎知識 計算機基礎知識彙總

計算機專業的那六大件 組成原理,作業系統,資料庫,編譯原理,計算機網路,資料結構,其次還得加上分布式的基礎知識,因為現在的系統都變成分布式的了。如果你是做應用層開發的,那幾門課程中的有些內容和日常工作關聯度不大,我挑那些最重要的來說一說,也算是乙個最小集合吧!1,計算機組成原理 如果你不是做作業系統...

計算機基礎知識 關於計算機的基礎知識

一 計算機發展 世界計算機 1 第一台計算機 eniac,1946年,美國研製的世界上第一台計算機,開闢了計算機技術的新紀元。2 計算機之父 馮 諾依曼參與eniac研究,提出計算機的二進位制 五大組成部分 程式控制。3 計算機發展階段 第一代電子管計算機 1946 1958年。第二代電晶體計算機 ...

計算機基礎知識

計算機5大組成單元 輸入單元 輸出單元 cpu內部的控制單元 算術邏輯單元 記憶體。單有cpu是無法運作計算機的,所以計算機還需要其他的介面裝置才能夠實際執行。很顯然,主機板是必不可少的,因為主機板負責把所有的裝置連線起來,讓所有的裝置能夠進行協調通訊。而主機板上面最重要的元件就是主板晶元組了!這個...