什麼是軟體演算法,什麼是軟體演算法

2021-08-25 23:16:16 字數 2631 閱讀 2457

1樓:

程式演算法是對特定問題求解過程的描述,是指令的有限序列,每條指令完成一個或多個操作。通俗地講,就是為解決某一特定問題而採取的具體有限的操作步驟。

程式演算法具有以下特性

(1)有窮性:在有限的操作步驟內完成。有窮性是演算法的重要特性,任何一個問題的解決不論其採取什麼樣的演算法,其終歸是要把問題解決好。

如果一種演算法的執行時間是無限的,或在期望的時間內沒有完成,那麼這種演算法就是無用和徒勞的,我們不能稱其為演算法。

(2)確定性:每個步驟確定,步驟的結果確定。演算法中的每一個步驟其目的應該是明確的,對問題的解決是有貢獻的。

如果採取了一系列步驟而問題沒有得到徹底的解決,也就達不到目的,則該步驟是無意義的。

(3)可行性:每個步驟有效執行,得到確定的結果。每一個具體步驟在通過計算機實現時應能夠使計算機完成,如果這一步驟在計算機上無法實現,也就達不到預期的目的,那麼這一步驟是不完善的和不正確的,是不可行的。

(4)零個或多個輸入:從外界獲得資訊。演算法的過程可以無資料輸入,也可以有多種型別的多個資料輸入,需根據具體的問題加以分析。

(5)一個或多個輸出:演算法得到的結果就是演算法的輸出(不一定就是列印輸出)。演算法的目的是為解決一個具體問題,一旦問題得以解決,就說明採取的演算法是正確的,而結果的輸出正是驗證這一目的的最好方式。

演算法的複雜度

同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。一個演算法的評價主要從時間複雜度和空間複雜度來考慮。

時間複雜度

演算法的時間複雜度是指演算法需要消耗的時間資源。一般來說,計算機演算法是問題規模n 的函式f(n),演算法的時間複雜度也因此記做

t(n)=ο(f(n))

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

空間複雜度

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

2樓:熱過火啊

就描述,實際都差不多。只不過是一個分類的說法。

第一個,你可以理解為做了一個大的數學模型,來**結果。

第二個,你可以理解為輔助你思考的軟體,常見邏輯思維圖或者一個軟體從頭到尾怎麼實現功能的。

第三個,你可以理解為一座大夏的磚頭,是構建起整個系統的基礎。或者也可以理解為在這個基礎上產生的應用。

什麼是演算法,它的五大特性是什麼,演算法和程式的關係是什麼

3樓:少男少女

演算法(baialgorithm)是指解題方****du而完zhi整的描述,是一系列解dao決問題的清晰指專令,演算法代表著屬用系統的方法描述解決問題的策略機制。

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

有窮性(finiteness)

演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;

確切性(definiteness)

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

輸入項(input)

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

輸出項(output)

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

可行性(effectiveness)

演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。

演算法和程式的關係是:

演算法就是程式的靈魂,一個需要實現特定功能的程式,實現它的演算法可以有很多種,所以演算法的優劣決定著程式的好壞。

程式就是遵循一定規則的、為完成指定工作而編寫的**。有一個經典的等式闡明瞭什麼叫程式:程式 = 演算法 + 資料結構 + 程式設計方法 + 語言工具和環境 。

4樓:o夏怡然

1.又窮性,算bai法是執行時候執行的有du窮性,zhi程式只是一段實現演算法的dao**

2.確定性回,演算法對於答特定的輸入有特定的輸出,程式提供了確定演算法結果的平臺

3.可行性,演算法需要考慮設計的可能,程式則具體是實現演算法上的設計4.輸入,演算法有輸入,演算法的輸入依靠程式的平臺提供5.輸出,演算法的輸出也靠**的支援

演算法和程式的關係:

1.演算法是執行時候執行的有窮性,程式只是一段實現演算法的**2.演算法對於特定的輸入有特定的輸出,程式提供了確定演算法結果的平臺3.

演算法需要考慮設計的可能,程式則具體是實現演算法上的設計4.演算法有輸入,演算法的輸入依靠程式的平臺提供5.同上,演算法的輸出也靠**的支援

5樓:安徽新華電腦專修學院

演算法(algorithm)是指

bai解題方****而du完整的描zhi述,是一系列解決dao問題的清晰指令專,演算法代表著用

屬系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。

不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

6樓:匿名使用者

1.又窮性,1.又窮性,1.又窮性,

什麼是雜湊演算法,什麼是雜湊演算法?具體怎麼用啊???有什麼用啊?

雜湊函式是一個數學方程式,它可用文字 如電子郵件資訊 來生成稱為資訊摘要的 著名的雜湊函式如 md4,md5,shs。用於數字鑑別的雜湊函式必須有特定的屬性,使它在密碼使用方面有足夠的安全性。尤其是,下面的內容一定不能被發現 用來雜湊出特定值的文字。也就是說,如果你知道資訊摘要,你應該不能解出資訊的...

什麼是資料結構?什麼是演算法?演算法與程式有什麼關係

資料結構與演算法屬於開發人員的基本內功,也能訓練大腦的思考能力,掌握一次,終生受益。紮實的資料結構與演算法功底,能讓我們站在更高的角度去思考 寫出效能更優的程式,能讓我們更快速地學習上手各種新技術 比如人工智慧 區塊鏈等 也能讓我們敲開更高階程式設計領域的大門。資料結構與演算法更是各大名企面試題中的...

什麼是軟體?什麼是程式什麼是軟體,什麼是軟體工程?

1.軟體 中國大陸及香港用語,臺灣稱作軟體,英文 software 是一系列按照特定順序組織的計算機資料和指令的集合。一般來講軟體被劃分為系統軟體 應用軟體和介於這兩者之間的中介軟體。軟體並不只是包括可以在計算機 這裡的計算機是指廣義的計算機 上執行的電腦程式,與這些電腦程式相關的文件一般也被認為是...