1. 程式人生 > >塗鴉資料結構3 演算法相關

塗鴉資料結構3 演算法相關

歡迎轉載,轉載請註明出處

本文地址:http://blog.csdn.net/zhenggaoxing/article/details/42916947

資料結構和演算法的關係

1 資料結構——陣型(排兵佈陣)
2 演算法——戰法——你得知道怎麼打


演算法定義:

1 解決特定問題的求解步驟描述,在計算機中表現為指令的有限序列,並且每條指令表示一個或多個操作
2 什麼意思呢:還是仗怎麼打

演算法四個特性

1 輸入輸出:——有投入,有結果
2 有窮性:——閃電戰——消耗小,速度快,威力大
3 確定性:——戰爭的正義
4 可行性:——有勝算


演算法效率的度量方法

1 事前分析:運籌帷幄  

2 事後統計:馬後炮

之間的優劣大約如下

         VS     

函式的漸進增長

1 定義:

2 大約就是長頸鹿和梅花鹿是發小,當他們2歲以後梅花鹿就再也看不見長頸鹿的背了


演算法時間複雜度

1定義: 

             

2 解釋:大概意思是核心步驟執行的次數,來衡量演算法的好壞

3 類比:這個其實像極了我們大學考試時候用分數來評價學生的好壞一樣(太庸俗了……)


4 常見T(n)


5 階數比較


最壞情況和平均情況

1 一般指最壞情況

2 平均最有意義

空間複雜度

1 S[n ]=O (f(n))

2 和時間複雜度非常相似  ,只是f(n)代表意義不同:n為問題規模,f(n)佔空間大小