20200324_時間複雜度大O
序言
話說我最討厭的編程內容就是算法,算法裏面最討厭的就是對時間複雜度和空間複雜的理解。但往往命運就是會戲弄你,你越討厭什麼生活就逼你去學什麼,一個陰差陽錯的機會我接了別人的算法,從那以後就變成了算法專業戶了。
因此,再怎麼不喜歡這一部分內容,還是要把它啃下來,因爲以後要指望它吃飯。
概念
表示時間的大O符號,是用來描述【算法效率的語言】和【度量單位】。
時間複雜度也就是漸進運行時間或者大O時間。
(今天就學這麼多,因爲很難記)
應用場景
這個例子很容易列舉,如果我要傳一個DOC文件給朋友,那麼用郵件就可以。
如果我用U盤快遞給他,至少要兩天的空運,這樣得不償失。
但是如果他要的是我硬盤上1TB的視頻文件,那麼郵件就滿足不了了,如果用通訊工具直傳,估計得一個星期。
這種情況下,用快遞是最好的方式。
這就是時間複雜度在生活中的應用。
知識擴展
空間複雜度。
(內容太多,待補全)
本文歸類
建議歸類到【C++】。
明日計劃
int類型的最大值。
參考文獻:
《程序員面試金典》(第6版),第6章,大O,第34頁。
今日收藏:
無。