回覆列表
  • 1 # 一航

    演算法是一系列解決問題的清晰指令,也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。演算法常常含有重複的步驟和一些比較或邏輯判斷。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

    演算法的時間複雜度是指演算法需要消耗的時間資源。一般來說,計算機演算法是問題規模n 的函式f(n),演算法執行的時間的增長率與f(n) 的增長率正相關,稱作漸進時間複雜度(Asymptotic Time Complexity)。時間複雜度用“O(數量級)”來表示,稱為“階”。常見的時間複雜度有: O(1)常數階;O(log2n)對數階;O(n)線性階;O(n2)平方階。

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

    [font]演算法 Algorithm [/font]

    演算法是在有限步驟內求解某一問題所使用的一組定義明確的規則。通俗點說,就是計算機解題的過程。在這個過程中,無論是形成解題思路還是編寫程式,都是在實施某種演算法。前者是推理實現的演算法,後者是操作實現的演算法。

    一個演算法應該具有以下五個重要的特徵:

    1、有窮性: 一個演算法必須保證執行有限步之後結束;

    2、確切性: 演算法的每一步驟必須有確切的定義;

    3、輸入:一個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定除了初始條件;

    4、輸出:一個演算法有一個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的;

    5、可行性: 演算法原則上能夠精確地執行,而且人們用筆和紙做有限次運算後即可完成

  • 中秋節和大豐收的關聯?
  • 雙離合都起步有點抖嗎?