評價演算法
⑴ 評價演算法優劣的標準是
同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程序的效率。演算法分析的目的在於選擇合適演算法和改進演算法。一個演算法的評價主要從時間復雜度和空間復雜度來考慮。
時間復雜度
演算法的時間復雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
T(n)=Ο(f(n))
因此,問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間復雜度
空間復雜度
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
正確性
演算法的正確性是評價一個演算法優劣的最重要的標准。
可讀性
演算法的可讀性是指一個演算法可供人們閱讀的容易程度。
健壯性
健壯性是指一個演算法對不合理數據輸入的反應能力和處理能力,也稱為容錯性。
(1)評價演算法擴展閱讀
演算法可大致分為基本演算法、數據結構的演算法、數論與代數演算法、計算幾何的演算法、圖論的演算法、動態規劃以及數值分析、加密演算法、排序演算法、檢索演算法、隨機化演算法、並行演算法,厄米變形模型,隨機森林演算法。
演算法可以宏泛的分為三類:
一,有限的,確定性演算法 這類演算法在有限的一段時間內終止。他們可能要花很長時間來執行指定的任務,但仍將在一定的時間內終止。這類演算法得出的結果常取決於輸入值。
二,有限的,非確定演算法 這類演算法在有限的時間內終止。然而,對於一個(或一些)給定的數值,演算法的結果並不是唯一的或確定的。
三,無限的演算法 是那些由於沒有定義終止定義條件,或定義的條件無法由輸入的數據滿足而不終止運行的演算法。通常,無限演算法的產生是由於未能確定的定義終止條件。
參考資料:演算法--網路
⑵ 數據結構中評價一個好的演算法,應該從哪幾個方面來考慮
數據結構中評價一個好的演算法,應該從四個個方面來考慮,分別是:
一、演算法的正確性。
二、演算法的易讀性。
三、是演算法的健壯性。
四、是演算法的時空效率(運行)。
演算法的設計取決於數據(邏輯)結構,而演算法的實現依賴於採用的存儲結構。數據的存儲結構實質上是它的邏輯結構在計算機存儲器中的實現,為了全面的反映一個數據的邏輯結構,它在存儲器中的映象包括兩方面內容,即數據元素之間的信息和數據元素之間的關系。
不同數據結構有其相應的若干運算。數據的運算是在數據的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。
(2)評價演算法擴展閱讀:
分類
1、集合結構。該結構的數據元素間的關系是「屬於同一個集合」。
2、線性結構。該結構的數據元素之間存在著一對一的關系。
3、樹型結構。該結構的數據元素之間存在著一對多的關系。
4、圖形結構。該結構的數據元素之間存在著多對多的關系,也稱網狀結構。
⑶ 應該從哪些方面分析和評價演算法的性能
分析評價演算法性能的四個標准:
1.正確性
能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。
2.易讀性
易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。
3.健壯性
輸入非法數據,演算法也能適當地做出反應後進行處理,不會產生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。
4.時空性
演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。
演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。
(3)評價演算法擴展閱讀:
演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。此外,一個演算法還具有下列5個重要的特性。
(1)、有窮性
一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。
(2)、確定性
演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。
(3)、可行性
一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。
(4)、輸入
一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。
(5)、輸出
一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。
⑷ 評價演算法應該看什麼書,比如層次分析法什麼的
模糊數學,裡面有系統的講層次分析法
⑸ 數據結構中評價演算法的兩個重要指標是什麼
數據結構中評價演算法的兩個重要指標是時間復雜度和空間復雜度。
同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程序的效率。演算法分析的目的在於選擇合適演算法和改進演算法。一個演算法的評價主要從時間復雜度和空間復雜度來考慮。
1、時間復雜度:
演算法的時間復雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函數f(n),演算法的時間復雜度也因此記做。
2、空間復雜度:
演算法的空間復雜度是指演算法需要消耗的內存空間。其計算和表示方法與時間復雜度類似,一般都用復雜度的漸近性來表示。同時間復雜度相比,空間復雜度的分析要簡單得多。
(5)評價演算法擴展閱讀:
評估演算法效率的方法:
1、事後統計方法
這種方法主要是通過設計好的測試程序和數據,利用計算機計時器對不同演算法編制的程序的運行時間進行比較,從而確定演算法效率的高低。
2、事前分析估算方法
在計算機程序編寫前,依據統計方法對演算法進行估算。經過總結,可以發現一個高級語言編寫的程序在計算機上運行時所消耗的時間取決於下列因素:演算法採用的策略、編譯產生的代碼質量、問題的輸入規模、機器執行指令的速度。
參考資料來源:網路-演算法
⑹ 如何綜合評價一個演算法的有效性
再飄一次O(∩_∩)O哈! 2,你認為應該如何評估一個數據結構或演算法的有效性。【參考答案】:前提之一是演算法的正確性;其二還必須考慮執行演算法所耗費的時間和執行演算法所耗費的空間(主要是只指輔助空間),以及演算法是否易讀、易編碼和易於調試。
⑺ 演算法的評價指標包括什麼
一、企業網站評價原則
1、企業網站評價的動態性:由於企業網站本身是一個動態交互的信息平台,因此其評價體系就應當從動態角度出發。
2、企業網站評價的差異性:由於不同行業、不同企業、不同發展階段,其評價標準是不同的。因此在具體的評價過程中,也應當視具體情況具體分析。
3、企業網站評價的整體性:由於企業網站本身的原因,決定了在評價標准中既有可以量化的標准,又有不可量化的標准。因此在評價中,應當遵從整體性的原則。
二、企業網站評價的指標體系
(一)整體評價
1、域名和URL:域名是Internet上的一個伺服器或一個網路系統的名字,在Internet上,沒有同樣的域名,因此,域名具有唯一性。域名是由英文26個字母和10個阿拉伯數字以及橫杠"-"(減號)組成。URL——(Universal Resource Locator)通用資源定位器。一個恰當、精煉的域名對於網站的發展是十分重要的。同時,獨立域名是十分重要的一項指標。
2、鏈接有效性:在企業網站中,鏈接有效性佔有及其重要的地位。無效鏈接會直接影響用戶對網站本身的信任度。在指標評價過程中,鏈接的完備性是也一項十分重要的指標。
3、下載時間:調查顯示,一個網頁的打開時間超過20秒會引起瀏覽者的厭惡感。中國在2002年以撥號方式上網的計算機為1480萬台,占總上網計算機的71% 。因此在實際的評價中,網頁的載入速度應當以撥號方式來進行測評;同時為了簡化評價復雜程度,在實測的過程中,僅考慮首頁的下載時間。
4、網站認證:作為一個合法的企業網站,不僅應當提供工商認證,同時還要提供CA認證。對於某些特定行業,還應該提供各種相應認證。
5、符合網路倫理:所謂網路倫理,是Internet上一種特有的商業道德——即充分尊重用戶的個人意願和個人隱私,對用戶不能有任何的強迫行為。如不首先發送商業信息,不經過授權的修改、公布訪問者的個人資料和信息,或對用戶訪問提出要求和條件。
6、聯系方式:在首頁和網站的各個鏈接上,都需要體統十分詳盡的聯系方式。不但要提供電子郵件、電話、傳真;還要提供公司地址、郵編以及聯系人姓名。
7、更新:網站提供內容和頁面設計的不斷更新;以提高網站的信任度。更為重要的是,最好應當註明網站的最後一次更新時間。
(二)網站設計
1、風格與布局:網站內的所有頁面應當遵從統一的風格。包括統一色彩、統一主題、統一語氣和人稱、統一圖片效果。同時在頁面布局方面,應當加強視覺效果,加強文案的可視性和可讀性。
2、美工與字體:網頁色彩應當均衡,要突現可讀性;同時切忌將所有顏色都用到,一般要求色彩要控制在3種以內。由於中國大陸漢字系統採用GB編碼方式,而台灣地區漢字採用BIG5編碼,而歐美用戶則沒有安裝任何支持漢字的系統;鑒於此,定位於國際性質的網站應當針對不同的目標訪問者,設計不同的字體或語言。
3、動畫與聲音:在頁面上應該慎用動畫和聲音,更不能濫用。因為一方面會影響下載速度,另一方面可能會招致用戶的厭惡和抵觸情緒。
(三)內容提供
1、有用信息
(1) 網站的長期發展是取決於能否長期為訪問者提供有用的信息,這個也是網站自身發展的需要。
(2) 准確性:信息資源與數據是否切實可信。如果涉及一些關於信息來源與知識產權的信息,要註明出處與來源。
2、交互性內容
(1) 提供雙向交流:網站雙向交流的欄目不需要很多,但是作為一個企業網站來說,應當設立如,論壇、留言版、郵件列表之類的欄目;以供瀏覽者留下他們的信息。有調查表明,提供雙向交流站點較簡單地留下一個E-mail地址更有親和力。
(2) FAQ』s:Frequently Asked Questions——常見問題解答;因為企業網站經常收到用戶關於某一方面問題的來信,,應當設立一個常見問題解答,既方面訪問者,也可以節約網站時間和成本。
3、內容頁面長度:網頁內容頁面的長度以不超過3個屏幕高度為佳,因此將篇幅過長的文檔分隔成數篇較小的頁面,可以增加網站的親和力;如果基於特殊理由,應在長頁面上加上一些書簽,以使用戶快速查詢。
(四)網站推廣與其他
1、搜索引擎中的排名:Meta的使用,Meta標簽是紀錄當前頁面信息的元素,如字元解碼、作者、版權、關鍵字等。Meta標簽也提供該伺服器信息,如有效日期和刷新頻率。正是基於Meta的功能,搜索引擎可以自動找到WEB上的信息。
2、適當的關鍵詞:用戶很大程度上搜索目標信息和企業網站習慣於通過搜索引擎。所以一些具有戰略性的關鍵詞是十分重要的
3、其他網站提供的交換鏈接的數量
4、兼容性問題:
(1) 顯示兼容:在800*600、1024*768……解析度條件下能夠顯示正常。
(2) 操作系統兼容:在WINDOWS9.X/ME/NT/2000/XP/2003、Linux、Mac等操作系統中運行正常。
(3) 瀏覽器兼容:在IE(1—6)、Netscape(1—6)、Opera(1—7)等瀏覽器中運行正常。
5、網站服務:
(1) E-mail的自動回復(即時)、E-mail的人工回復(24小時)包括節假日
(2) 電話和傳真回復
(3) 800免費電話的提供
(4) 客戶資料的保留和挖掘
三、企業網站的綜合評價指標體系
企業網站的多指標綜合評價應當包括3方面的內容:一是綜合評價指標體系及其評價標準的建立,這是整個評價工作的前提;二是用定性或定量的方法確定各指標的具體數值,即指標評價值;三是各評價值的綜合,包括綜合演算法和權重的確定、總評價值的計算等。
⑻ 演算法的評價指標有哪些
時間復雜度和空間復雜度。
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)的空間復雜度了,因為每次遞歸都要存儲返回信息。一個演算法的優劣主要從演算法的執行時間和所需要佔用的存儲空間兩個方面衡量。
(8)評價演算法擴展閱讀:
演算法的方法:
1、遞推法
遞推是序列計算機中的一種常用演算法。它是按照一定的規律來計算序列中的每個項,通常是通過計算機前面的一些項來得出序列中的指定項的值。其思想是把一個復雜的龐大的計算過程轉化為簡單過程的多次重復,該演算法利用了計算機速度快和不知疲倦的機器特點。
2、遞歸法
程序調用自身的編程技巧稱為遞歸(recursion)。一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。遞歸的能力在於用有限的語句來定義對象的無限集合。
一般來說,遞歸需要有邊界條件、遞歸前進段和遞歸返回段。當邊界條件不滿足時,遞歸前進;當邊界條件滿足時,遞歸返回。
注意:
(1) 遞歸就是在過程或函數里調用自身.
(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
⑼ 評價演算法的四個標準是什麼
評價演算法的四個標准:
1.正確性
能正確地實現預定的功能,滿足具體問題的需要。處理數據使用的演算法是否得當,能不能得到預想的結果。
2.易讀性
易於閱讀、理解和交流,便於調試、修改和擴充。寫出的演算法,能不能讓別人看明白,能不能讓別人明白演算法的邏輯?如果通俗易懂,在系統調試和修改或者功能擴充的時候,使系統維護更為便捷。
3.健壯性
輸入非法數據,演算法也能適當地做出反應後進行處理,不會產生預料不到的運行結果。數據的形式多種多樣,演算法可能面臨著接受各種各樣的數據,當演算法接收到不適合演算法處理的數據,演算法本身該如何處理呢?如果演算法能夠處理異常數據,處理能力越強,健壯性越好。
4.時空性
演算法的時空性是該演算法的時間性能和空間性能。主要是說演算法在執行過程中的時間長短和空間佔用多少問題。
演算法處理數據過程中,不同的演算法耗費的時間和內存空間是不同的。
(9)評價演算法擴展閱讀:
演算法是對特定問題求解步驟的一種描述,它是指令的有限序列,其中每一條指令表示一個或多個操作。此外,一個演算法還具有下列5個重要的特性。
(1)、有窮性
一個演算法必須總是(對任何合法的輸入值)在執行有窮步之後結束,且每一步都可在有窮時間內完成。
(2)、確定性
演算法中每一條指令必須有明確的含義,讀者理解時不會產生二義性。即對於相同的輸入只能得到相同的輸出。
(3)、可行性
一個演算法是可行的,即演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現的。
(4)、輸入
一個演算法有零個或多個的輸入,這些輸入取自於某個特定的對象的集合。
(5)、輸出
一個演算法有一個或多個的輸出,這些輸出是同輸入有著某種特定關系的量。