資料結構中評價好的演算法應該從哪幾個方面來考慮

2021-03-07 15:43:58 字數 1138 閱讀 7056

1樓:汝子非魚焉

資料結構中評價一個好的演算法,應該從四個個方面來考慮,分別是:

一、演算法的正確性。

二、演算法的易讀性。

三、是演算法的健壯性。

四、是演算法的時空效率(執行)。

演算法的設計取決於資料(邏輯)結構,而演算法的實現依賴於採用的儲存結構。資料的儲存結構實質上是它的邏輯結構在計算機儲存器中的實現,為了全面的反映一個資料的邏輯結構,它在儲存器中的映象包括兩方面內容,即資料元素之間的資訊和資料元素之間的關係。

不同資料結構有其相應的若干運算。資料的運算是在資料的邏輯結構上定義的操作演算法,如檢索、插入、刪除、更新和排序等。

2樓:行了我

資料結構演算法的評價主要從時間複雜度和空間複雜度來考慮。

1、時間複雜度

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

問題的規模n 越大,演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間複雜度(asymptotic time ***plexity)。

2、空間複雜度

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

3樓:匿名使用者

首先,正確性。不能保證正確性,那剩下的一切都是空談,更不用說是好的演算法了。

時間效率和空間效率。一個好的演算法,應該具有較高的時間效率和空間效率,也就是說,它能在更短的時間內,在佔用更少的儲存空間的條件下獲得期望的結果。

易讀性。在滿足以上條件的情況下,一個更容易被讀懂的演算法無疑更為優秀,一個好的演算法如果想被推廣甚至傳頌,簡潔易懂是一個重要的條件。

4樓:匿名使用者

1: 最壞時間複雜度

2: 最好時間複雜度

3: 平均時間複雜度

4: 平均時間複雜度的均方差,期望,分佈情況5: 空間複雜度

6: 程式設計難度

7: 演算法是否容易擴充套件

對於不確定性演算法,效率,準確性,也很重要

5樓:靜靜加油諾

有窮性,確定性,可行性,輸入,輸出

程式設計中的演算法是什麼,資料結構是什麼,或者有哪些,各個程式語言

演算法 結構 萬能的程式。我的理解就是思想 方法 演算法和資料結構有什麼區別?一 指代不同bai 1 演算法 是du指解題方 zhi 而完整的描述,是一系列dao解決問題的清晰指令。內2 資料結構 指容 相互之間存在一種或多種特定關係的資料元素的集合。二 目的不同 1 演算法 指令描述的是一個計算,...

演算法和資料結構有什麼區別,資料結構學的到底是什麼?和演算法有什麼關係?

一 指代不同bai 1 演算法 是du指解題方 zhi 而完整的描述,是一系列dao解決問題的清晰指令。內2 資料結構 指容 相互之間存在一種或多種特定關係的資料元素的集合。二 目的不同 1 演算法 指令描述的是一個計算,當其執行時能從一個初始狀態和 可能為空的 初始輸入開始,經過一系列有限而清晰定...

在資料結構中,資料的邏輯結構,資料的儲存結構及資料的運算之間存在著怎麼樣的關係

資料的邏輯結構決定了資料間運算關係的具體定義,而資料的儲存結構與資料的運算方法,沒有直接的關係,資料的儲存結構決定了維護資料邏輯結構時各種操作的運算複雜程度。在資料結構中,資料的邏輯結構,資料的儲存結構及資料的運算之間存在著怎麼樣的 資料的儲存結構及資料的運算之間存在著怎樣的關係 在資料結構中,邏輯...