資料結構是指相互之間存在的一種或多種特定關係的資料元素集合。
資料型別按結構特徵劃分:
五大特性:
資料結構是有限的,只有寥寥數種,而演算法則是琳琅滿目的。資料結構就彷彿乙個蘋果,演算法則是你選擇吃蘋果的方式。
function sum(n)
return total;
}
上面是乙個累加求和的方法,假設每條語句執行的時間為time,這個方法對於n來說執行的使時間是多少?
解析:第2行執行一次,時間為time;
第3,4行執行n次,時間為timen2;
第6行執行一次,時間為time;
總的執行時間為 time+ time+ timen2;
使用f(n)表示**的執行次數和資料規模的關係,即:f(n) = 2n+2;
當n無窮大時,f(n) = n,使用大o表示法得o(n)
function factorial (num) else
}
分析:
固定部分:factorial此函式所佔據的空間大小。
可變部分:輸入輸出資料所占用的空間(num)、函式執行期間為每個遞迴分配的空間,即呼叫棧。
空間複雜度可理解為:函式空間 + num空間 + 呼叫棧空間。
漫遊演算法 01 認識演算法
我是一名初中oier。在開始寫這第一篇文章之前,我其實已經反覆考慮很久了。起初我不敢冒然寫。一是由於我的程式設計水平不是特別精湛,沒有積累足夠的經驗 二是我的語文比較弱,寫出的文章可能並不精彩,甚至難以理解。但是我最終決定開始部落格生涯,因為我相信寫文章是每個oier都不得不經歷的。寫文章不僅僅可以...
簡單認識PHP 01
一 了解php 二 什麼是php 三 php 是一門令人驚嘆的流行語言 四 什麼是 php 檔案 五 php能夠做什麼 六 為什麼使用 php 七 安裝php步驟 1.php 是一種建立動態互動性站點的強有力的伺服器端指令碼語言 php 指令碼在伺服器上執行。2.php 是免費的,並且使用廣泛。對於...
執行緒池 初步認識 01
二 好處 三 實現原理 期望 每次任務提交的時候,都是當前執行的執行緒數大於等於核心執行緒數,此時不用獲取全域性鎖,即加入工作佇列。四 通過threadpoolexecutor建立執行緒池 1.corepoolsize 2.maximumpoolsize 3.keepalivetime 4.unit...