20200324_時間複雜度大O

20200324_時間複雜度大O

序言

話說我最討厭的編程內容就是算法,算法裏面最討厭的就是對時間複雜度和空間複雜的理解。但往往命運就是會戲弄你,你越討厭什麼生活就逼你去學什麼,一個陰差陽錯的機會我接了別人的算法,從那以後就變成了算法專業戶了。

因此,再怎麼不喜歡這一部分內容,還是要把它啃下來,因爲以後要指望它吃飯。

概念

表示時間的大O符號,是用來描述【算法效率的語言】和【度量單位】。
時間複雜度也就是漸進運行時間或者大O時間。
(今天就學這麼多,因爲很難記)

應用場景

這個例子很容易列舉,如果我要傳一個DOC文件給朋友,那麼用郵件就可以。
如果我用U盤快遞給他,至少要兩天的空運,這樣得不償失。
但是如果他要的是我硬盤上1TB的視頻文件,那麼郵件就滿足不了了,如果用通訊工具直傳,估計得一個星期。
這種情況下,用快遞是最好的方式。

這就是時間複雜度在生活中的應用。

知識擴展

空間複雜度。

(內容太多,待補全)

本文歸類

建議歸類到【C++】。

明日計劃

int類型的最大值。

參考文獻:

《程序員面試金典》(第6版),第6章,大O,第34頁。

今日收藏:

無。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章