演算法的定義和特性

2021-10-13 15:31:27 字數 795 閱讀 8528

演算法定義

演算法(algorithm)這個單詞最早出現在波斯數學家阿勒.花刺子密所寫的《印度數字算術》中。如今普遍認可的對演算法的定義是:演算法是解決特定問題的求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。

演算法定義中,提到了指令,指令能被人或機器等計算裝置執行。它可以是計算機指令,也可以是我們平時的語言文字。

為了解決某個問題或某類問題,需要把指令表示成一定的操作序列,操作序列包括一組操作,每乙個操作都完成特定的功能,這就是演算法了。

演算法的特性

演算法具有五個基本特性行:輸入、輸出、有錢、有窮性、確定性和可行性。

輸入輸出比較容易理解,演算法具有零個或多個輸入。儘管對於絕大多數演算法來說,輸入引數都是必要的,但對於個別情況,如列印「hello world」這樣的**,不需要輸入。演算法至少有乙個過多個輸出,演算法是一定需要輸出的,不需要輸出,你用這個演算法幹嘛?

有窮性:指的是演算法在執行有限的步驟之後,自動結束而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。現實中經常會寫出死迴圈的**,這就是不滿足有窮性。當然這裡有窮的概念並不是純數學意義的,而是在實際應用當中合理的、可以接受的「有邊界」。你說你寫乙個演算法,計算機需要算上個二十年,一定會結束,它在數學意義上是有窮了,可是媳婦都熬成婆了,演算法的意義也不就大了。

確定性:演算法的每一步都具有確定的含義,不會出現二義性。演算法在一定條件下,只有一條執行路徑,相同的輸入只能有唯一的輸出結果。演算法的每個步驟被精確定義而無歧義。

可行性:演算法的每一步都必須是可行的,也就是說,每一步都能夠通過執行有限次數完成。可行性意味著演算法可以轉換為程式上機執行,並得到正確的結果。

業務架構的定義 特性和方法

業務架構一般不被開發重視,開發人員喜歡追求新技術,而技術是服務於業務的,現在沒有一項技術是自娛自樂的,一定要支撐業務,否則沒有場景。設計好業務架構要考慮的方面比較多,要做到業務彼此隔離 業務與技術 平台 隔離,從業務架構中能看得出整體業務的流程運轉 業務產品的能力 業務領域物件 接下來的兩篇文章將重...

演算法的特性

首先,我們要了解什麼是演算法 演算法就是解決特定問題的求解步驟的描述,在計算機中表現為指令的有效序列,並且每一條指令代表乙個或多個操作。那麼演算法的特性有哪些呢?具體有以下幾個特性 1.輸入輸出 大部分演算法都有輸入,但是如果只是列印 hello world 這樣簡單的演算法,那麼輸入也可以為零。演...

演算法的特性

演算法有5個基本特性 輸入 輸出 有窮性和可行性 一 輸入輸出 輸入和輸出比較容易理解,演算法具有零個或多個輸入。儘管對於絕大多數演算法來說,輸入引數都是必要的,但對於個別情況,如列印 hello world 這樣的 不需要任何輸入引數,因此演算法的輸入可以是零個。演算法至少有乙個或多個輸出,演算法...