導航:首頁 > 源碼編譯 > 評價演算法性能優劣的兩個主要標准

評價演算法性能優劣的兩個主要標准

發布時間:2022-05-02 01:52:50

演算法的評價指標有哪些

時間復雜度和空間復雜度。

1、時間復雜度

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

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

因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度(Asymptotic Time Complexity)。

2、空間復雜度

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

空間復雜度記做S(n)=O(f(n))。比如直接插入排序的時間復雜度是O(n^2),空間復雜度是O(1) 。而一般的遞歸演算法就要有O(n)的空間復雜度了,因為每次遞歸都要存儲返回信息。一個演算法的優劣主要從演算法的執行時間和所需要佔用的存儲空間兩個方面衡量。

(1)評價演算法性能優劣的兩個主要標准擴展閱讀:

演算法的方法:

1、遞推法

遞推是序列計算機中的一種常用演算法。它是按照一定的規律來計算序列中的每個項,通常是通過計算機前面的一些項來得出序列中的指定項的值。其思想是把一個復雜的龐大的計算過程轉化為簡單過程的多次重復,該演算法利用了計算機速度快和不知疲倦的機器特點。

2、遞歸法

程序調用自身的編程技巧稱為遞歸(recursion)。一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。遞歸的能力在於用有限的語句來定義對象的無限集合。

一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。

注意:

(1) 遞歸就是在過程或函數里調用自身.

(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。

❷ 應該從哪些方面分析和評價演算法的性能

分析評價演算法性能的四個標准:

1.正確性

能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。

2.易讀性

易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。

3.健壯性

輸入非法數據,演算法也能適當地做出反應後進行處理,不會產生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。

4.時空性

演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。

演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。

(2)評價演算法性能優劣的兩個主要標准擴展閱讀:

演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。此外,一個演算法還具有下列5個重要的特性。

(1)、有窮性

一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。

(2)、確定性

演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。

(3)、可行性

一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。

(4)、輸入

一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。

(5)、輸出

一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。

❸ 演算法性能的評判標准

選A,演算法的性能和你編寫的代碼的時間復雜度和空間復雜度有關,和機器的配置無關。所以
評價一個演算法性能的評價依據不包括
A
運算器的執行速度。

❹ 衡量演算法好壞的標准

1:時間復雜度:

可以簡單的說就是:大概程序要被執行的次數,而非時間。注意:是次數,不是時間,因為不同機器的性能是不一樣的,不要用計時器在那裡計時誰的更快。當然,如果在同一台電腦上運行計時另說。
Question:怎樣看待一個程序執行的速度是快還是慢?
Answer:要看他里邊最關鍵的運行次數最多的那一個步驟到底執行了幾次,用這個來衡量演算法的時間復雜度

2:空間復雜度:

同樣簡單來說就是:演算法執行過程中大概所佔用的最大的內存。

3:難易程度:

所研究的演算法盡可能讓大家能看懂。

4:健壯性:

簡單來說哦,不要一碰就完不結實

5:正確性:

一定要正確,感覺這一特性說不說都是可以,不正確也不能用,這一切的前提都是以正確為前提的。

❺ 評價演算法優劣的標準是

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

時間復雜度

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

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

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

空間復雜度

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

正確性

演算法的正確性是評價一個演算法優劣的最重要的標准。

可讀性

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

健壯性

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

(5)評價演算法性能優劣的兩個主要標准擴展閱讀

演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。

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

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

二,有限的,非確定演算法 這類演算法在有限的時間內終止。然而,對於一個(或一些)給定的數值,演算法的結果並不是唯一的或確定的。

三,無限的演算法 是那些由於沒有定義終止定義條件,或定義的條件無法由輸入的數據滿足而不終止運行的演算法。通常,無限演算法的產生是由於未能確定的定義終止條件。

參考資料:演算法--網路

❻ 如何比較兩個演算法的好壞,有什麼指標

演算法是一個良定義的計算過程,以一個或多個值輸入,並以一個或多個值輸出。
評價演算法的好壞的因素:·演算法是正確的;
·執行演算法的時間;
·執行演算法的存儲空間(主要是輔助存儲空間);
·演算法易於理解、編碼、調試。
**************************************************************************************************************
時間復雜度:是某個演算法的時間耗費,它是該演算法所求解問題規模n的函數。
漸近時間復雜度:是指當問題規模趨向無窮大時,該演算法時間復雜度的數量級。
評價一個演算法的時間性能時,主要標准就是演算法的漸近時間復雜度。
演算法中語句的頻度不僅與問題規模有關,還與輸入實例中各元素的取值相關。
時間復雜度按數量級遞增排列依次為:常數階O(1)、對數階O(log2n)、線性階O(n)、線性對數階O(nlog2n)、平方階O(n^2)、立方階O(n^3)、……k次方階O(n^k)、指數階O(2^n)。
空間復雜度:是某個演算法的空間耗費,它是該演算法所求解問題規模n的函數。
演算法的時間復雜度和空間復雜度合稱演算法復雜度。

❼ 如何評價演算法

評價演算法的四個標准:

1.正確性

能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。

2.易讀性

易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。

3.健壯性

輸入非法數據,演算法也能適當地做出反應後進行處理,不會產生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。

4.時空性

演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。

演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。

(7)評價演算法性能優劣的兩個主要標准擴展閱讀:

演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。此外,一個演算法還具有下列5個重要的特性。

(1)、有窮性

一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。

(2)、確定性

演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。

(3)、可行性

一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。

(4)、輸入

一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。

(5)、輸出

一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。

❽ 演算法的衡量標准有哪些

衡量演算法的三個標準是:時間復雜度、空間復雜度和難易程度。時間復雜度可以簡單的說就是:大概程序要被執行的次數,而非時間。
注意:是次數,不是時間,因為不同機器的性能是不一樣的,不要用計時器在那裡計時誰的更快。當然,如果在同一台電腦上運行計時另說。
空間復雜度:同樣簡單來說就是:演算法執行過程中大概所佔用的最大的內存。

❾ 如何判斷演算法優劣

演算法的好壞是看它的運行效率比如遞歸一般來說是比較耗時間的,也就是說效率低當然也看具體情況,有的演算法在基數小的情況是差不多,性能反而還好點

❿ 數據結構中評價演算法的兩個重要指標是什麼

數據結構中評價演算法的兩個重要指標是時間復雜度和空間復雜度。

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

1、時間復雜度:

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

2、空間復雜度:

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

(10)評價演算法性能優劣的兩個主要標准擴展閱讀:

評估演算法效率的方法:

1、事後統計方法

這種方法主要是通過設計好的測試程序和數據,利用計算機計時器對不同演算法編制的程序的運行時間進行比較,從而確定演算法效率的高低。

2、事前分析估算方法

在計算機程序編寫前,依據統計方法對演算法進行估算。經過總結,可以發現一個高級語言編寫的程序在計算機上運行時所消耗的時間取決於下列因素:演算法採用的策略、編譯產生的代碼質量、問題的輸入規模、機器執行指令的速度。

參考資料來源:網路-演算法

閱讀全文

與評價演算法性能優劣的兩個主要標准相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:569
python員工信息登記表 瀏覽:369
高中美術pdf 瀏覽:153
java實現排列 瀏覽:505
javavector的用法 瀏覽:974
osi實現加密的三層 瀏覽:225
大眾寶來原廠中控如何安裝app 瀏覽:906
linux內核根文件系統 瀏覽:235
3d的命令面板不見了 瀏覽:520
武漢理工大學伺服器ip地址 瀏覽:141
亞馬遜雲伺服器登錄 瀏覽:517
安卓手機如何進行文件處理 瀏覽:65
mysql執行系統命令 瀏覽:923
php支持curlhttps 瀏覽:136
新預演算法責任 瀏覽:437
伺服器如何處理5萬人同時在線 瀏覽:244
哈夫曼編碼數據壓縮 瀏覽:417
鎖定伺服器是什麼意思 瀏覽:378
場景檢測演算法 瀏覽:610
解壓手機軟體觸屏 瀏覽:341