演算法和演算法分析_資料處理

來源:互聯網
上載者:User

        通常人們將演算法定義為一個有窮的指令集,這些指令為解決某一特定任務規定了一個運算系列。

        一個演算法應當具有以下特性:輸入,輸出,確定性,有窮性,可行性。

        演算法的描述有多種方法,如自然語言方式、圖形方式、表格方式等,這裡用C++程式語言來描述演算法。

        把一個具體問題的功能需求轉變為一個演算法,使用的方法是自頂向下、逐步求精的結構化程式設計方法。

        通常一個好的演算法應達到如下目標:

(1)正確性。演算法應滿足具體問題的需求,正確反映求解問題對輸入輸出和加工處理等方面的需求。

(2)可讀性。演算法除了用於編製程式在電腦上執行之外,另一個重要用處是閱讀和交流。可讀性好有助於人們對演算法的理解,便於演算法的交流與推廣。

(3)健壯性。當輸入資料非法時,演算法應能適當的做出反應或進行處理,輸出表示錯誤性質的資訊並中止執行。

(4)時間效率和儲存佔用量。一般來說,求解同一個問題若有多種演算法,則執行時間短的演算法效率高,佔用儲存空間少的演算法較好。但是演算法的時間開銷和空間開銷往往是相互制約的,對高時間效率和低儲存量的要求只能根據問題的性質折衷處理。

這四個目標中對演算法在電腦上執行所耗費的時間和所佔空間的分析,常常是人們對演算法進行評估和選擇的重要依據。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.