數(shù)據(jù)結構和算法學習日記

什么是好的算法

好的算法需要考慮空間復雜度S(n)和時間復雜度T(n)。如果空間復雜大過大可能會內(nèi)存超現(xiàn),程序不正常中斷;如果時間復雜度過高會出現(xiàn)有生之年現(xiàn)象= =。

在分析一般算法的效率時通常分析的是它的最壞情況復雜度和平均復雜度

不同函數(shù)的輸入規(guī)模復雜度比較
  • 復雜度計算

若兩段算法的復雜度分別是T_1(n)=o(f_1(n))T_2(n)=o(f_2(n)),則

T_1(n)+T_2(n)=MAX(o(f_1(n)),o(f_2(n)))

T_1(n)*T_2(n)=o(f_1(n)*f_2(n))

一個for循環(huán)的時間復雜度等于循環(huán)次數(shù)乘以循環(huán)代碼的復雜度;

if-else結構的復雜度取決于if判斷條件的復雜度和兩個分支的復雜度,總體復雜度取三者最大。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容