1演算法的概述

2021-09-28 07:24:46 字數 1213 閱讀 7368

演算法(algorithm)是指解題方****而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規範的輸入,在有限時間內獲得所要求的輸出。如果乙個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。乙個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

1.輸入:乙個演算法必須有零個或以上輸入量。

2.輸出:乙個演算法應有乙個或以上輸出量,輸出量是演算法計算的結果。

3.明確性:演算法的描述必須無歧義,以保證演算法的實際執行結果是精確地符合要求或期望,通常要求實際執行結果是確定的。

4.有限性:依據圖靈的定義,乙個演算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機器只有有限個狀態、有限個輸入符號和有限 個轉移函式(指令)。而一些定義更規定演算法必須在有限個步驟內完成任務。

5.有效性:又稱可行性。能夠實現,演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現

自然語言

流程圖程式語言

偽**等等

時間複雜度

演算法的時間複雜度是指執行演算法所需要的計算工作量。一般來說,計算機演算法是問題規模n 的函式f(n),演算法的時間複雜度也因此記做。

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

空間複雜度

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

正確性演算法的正確性是評價乙個演算法優劣的最重要的標準。

可讀性演算法的可讀性是指乙個演算法可供人們閱讀的容易程度。 [1]

健壯性健壯性是指乙個演算法對不合理資料輸入的反應能力和處理能力,也稱為容錯性。

演算法是電腦科學領域最重要的基石之一,計算機領域重要的便是那些演算法和理論。在現實生活中,招聘時,絕大多數公司都會有與演算法和資料結構有關的題目,在工作中,演算法和架構是核心。演算法是計算機發展的基礎,演算法不僅僅侷限在計算機領域,在其它領域也發揮著重要的作用。

窮舉搜尋演算法:floyed演算法

迭代演算法:數學函式的迭代求解

遞推演算法:斐波那契數列

遞迴演算法:漢諾塔

分治演算法:快速排序,折半查詢等

貪心演算法:最小代價生成樹

支限界演算法:以廣度優先搜尋為基礎,定義剪枝策略

1 演算法概述

1.演算法概述 演算法與程式 演算法複雜性分析 明天就要考試了,不知道是否能來得及,我在想反正都要研究演算法的,比如現在開始弄了,考試只是研究演算法路上的乙個小測試而已,廢話不說,開始吧 演算法與程式 演算法是什麼,很多人能大概feel到演算法是什麼,但是要很準確的說出來,有難以啟齒,書上是這麼概述...

演算法初階1 演算法概述

天祿貔貅 王冬冬 技術部落格 1.1什麼是演算法?字面義 演算法就是用於計算的方法,通過這種方法可以達到預期的結果。專業定義 演算法是模型分析的一組可行的 確定的和有窮的規則。從程式設計角度 演算法由一系列求解問題的指令構成,能夠根據規則的輸入在有限的時間內獲得有效的輸出結果。演算法的五個特徵 有窮...

演算法總結 1 演算法概述

演算法 演算法 algorithm 在thomas h.cormen書中的定義是求解良說明的計算問題的工具。這裡提到的良說明就是完全符合iso標準而不存在任何歧義的說明。一般來說,問題陳述說明了期望的輸入和輸出。演算法則是描述乙個特定的過程來實現該輸入 輸出的關係。進入例子 演算法好比是菜譜,我們的...