日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大剑无锋之如何评判一个算法的优劣【面试推荐】

發(fā)布時間:2024/2/28 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大剑无锋之如何评判一个算法的优劣【面试推荐】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

①時間復雜度:同樣的輸入規(guī)模(問題規(guī)模)花費多少時間

②空間復雜度:同樣的輸入規(guī)模花費多少空間(主要是內(nèi)存)

以上兩點越小越好

③穩(wěn)定性(健壯性):不會因為輸入的不同而導致不穩(wěn)定的情況發(fā)生

④算法思路是否簡單(可讀性):越簡單越容易實現(xiàn)越好

補充:

?

同一問題可用不同算法解決,而一個算法的質量優(yōu)劣將影響到算法乃至程序的效率。算法分析的目的在于選擇合適算法和改進算法。一個算法的評價主要從時間復雜度和空間復雜度來考慮。

?

時間復雜度

算法的時間復雜度是指執(zhí)行算法所需要的計算工作量。一般來說,計算機算法是問題規(guī)模n 的函數(shù)f(n),算法的時間復雜度也因此記做。

T(n)=Ο(f(n))

因此,問題的規(guī)模n 越大,算法執(zhí)行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度

?

空間復雜度

算法的空間復雜度是指算法需要消耗的內(nèi)存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。

?

正確性

算法的正確性是評價一個算法優(yōu)劣的最重要的標準。

?

可讀性

算法的可讀性是指一個算法可供人們閱讀的容易程度。

?

健壯性

健壯性是指一個算法對不合理數(shù)據(jù)輸入的反應能力和處理能力,也稱為容錯性。

擴展資料

算法可大致分為基本算法、數(shù)據(jù)結構的算法、數(shù)論與代數(shù)算法、計算幾何的算法、圖論的算法、動態(tài)規(guī)劃以及數(shù)值分析、加密算法、排序算法、檢索算法、隨機化算法、并行算法,厄米變形模型,隨機森林算法。

算法可以宏泛的分為三類:

一,有限的,確定性算法 這類算法在有限的一段時間內(nèi)終止。他們可能要花很長時間來執(zhí)行指定的任務,但仍將在一定的時間內(nèi)終止。這類算法得出的結果常取決于輸入值。

二,有限的,非確定算法 這類算法在有限的時間內(nèi)終止。然而,對于一個(或一些)給定的數(shù)值,算法的結果并不是唯一的或確定的。

三,無限的算法 是那些由于沒有定義終止定義條件,或定義的條件無法由輸入的數(shù)據(jù)滿足而不終止運行的算法。通常,無限算法的產(chǎn)生是由于未能確定的定義終止條件。

參考資料:算法--百度百科

總結

以上是生活随笔為你收集整理的大剑无锋之如何评判一个算法的优劣【面试推荐】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。