基本數據結構和算法?算法(Algorithm)是為了解決某類問題而規定的一個有限長的操作序列,我來為大家科普一下關于基本數據結構和算法?下面希望有你要的答案,我們一起來看看吧!
算法(Algorithm)是為了解決某類問題而規定的一個有限長的操作序列。
一個算法必須滿足以下五個重要特性。
(1)有窮性。一個算法必須總是在執行有窮步後結束,且每一步都必須在有窮時間内完成。
(2)确定性。對于每種情況下所應執行的操作,在算法中都有确切的規定,不會産生二義性,使算法的執行者或閱讀者都能明确其含義及如何執行。
(3)可行性。算法中的所有操作都可以通過已經實現的基本操作運算執行有限次來實現。
(4)輸入。一個算法有零個或多個輸入。當用函數描述算法時,輸入往往是通過形參表示的,在它們被調用時,從主調函數獲得輸入值。
(5)輸出。一個算法有一個或多個輸出,它們是算法進行信息加工後得到的結果,無輸出的算法沒有任何意義。當用函數描述算法時,輸出多用返回值或引用類型的形參表示。
評價算法優劣的基本标準
一個算法的優劣應該從以下幾方面來評價。
(1)正确性。在合理的數據輸入下,能夠在有限的運行時間内得到正确的結果。
(2)可讀性。一個好的算法,首先應便于人們理解和相互交流,其次才是機器可執行性。可讀性強的算法有助于人們對算法的理解,而難懂的算法易于隐藏錯誤,且難于調試和修改。
(3)健壯性。當輸入的數據非法時,好的算法能适當地做出正确反應或進行相應處理,而不會産生一些莫名其妙的輸出結果。
(4)高效性。高效性包括時間和空間兩個方面。
時間高效是指算法設計合理,執行效率高,可以用時間複雜度來度量;
空間高效是指算法占用存儲容量合理,可以用空間複雜度來度量。時間複雜度和空間複雜度是衡量算法的兩個主要指标。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!