演算法的基本概念

2021-07-24 18:29:09 字數 920 閱讀 6941

前面寫了那麼多演算法,到底什麼才是演算法,這裡,我整理了一下演算法的一些基本概念

1.演算法的定義:演算法是解決特定問題求解步驟的描述,在計算機中為指令的有序列,並且每條指令表示乙個或多個操作。

2.演算法的特性:有窮性、確定性、可行性、輸入、輸出。

3.演算法的設計要求:正確性、可讀性、健壯性、高效率和低儲存量需求。

4.演算法的度量方法:事後統計方法(不科學、不準確)、事前分析估算方法。

5.函式的漸近增長:給定兩個函式f(n)和g(n),如果存在乙個整數n,使得對於所有的n於是我們可以得出乙個結論,判斷乙個演算法好不好,我們只通過少量的資料是不能做出準確判斷的,如果我們可以對比演算法的關鍵執行次數函式的漸近增長行,基本就可以分析出:某個演算法,隨著n的變大,它會越來越優於另一演算法,或者越來越差於另一演算法,這裡又涉及到另乙個概念:演算法時間複雜度。

6.演算法時間複雜度:演算法的時間複雜度,也就是演算法的時間量度,記作:t(n) = o(f(n))。

表示隨問題規模n的增大,演算法執行時間的增長率和f(n)的增長率相同,稱作:演算法的漸近時間複雜度,簡稱時間複雜度。其中f(n)是問題規模的某個函式。

7.推導大o階的步驟

用常數1取代執行時間中的所有加法常數;

在修改後的執行次數函式中,值保留最高端項;

如果最高端項的常數存在且不是1,則去除與這個項相乘的常數。

8.常見的時間複雜度所耗時間的大小排列

o(1) < o(logn) < o(n) < o(nlogn)< o(n2) < o(n3) < o(2n) < o(n!)< o(nn)

演算法基本概念

所謂演算法,就是解決問題的一種方法或乙個過程。具體來講,演算法是由若干指令組成的有窮序列。演算法概念並不是計算機學科獨有的概念,生活到到處可見演算法的應用。演算法要滿足4條性質 1.輸入 2.輸出 3.確定性 4.有限性 複雜性 時間複雜度 t 演算法所求解問題規模n的 函式 漸進時間複雜度 o 當...

演算法基本概念

一什麼是演算法 解決問題的策略機制,重要的是思想 求滿足a b c 1000,a 2 b 2 c 2 條件的所有a,b,c 思路 列舉法,以下被注釋掉的語句就是列舉每個滿足條件的a,b,c 但是這段語句的演算法複雜度太大 改進 a,b的值就確定了c的值,故 改進演算法如下 import time s...

演算法基本概念

演算法 algorithm 評價演算法優劣的依據 複雜度 時間複雜度和空間複雜度 時間複雜度 time complexity eg.某兩個演算法的時間頻度是t n 100000n2 10n 6100000n 2 10n 6 100000 n2 1 0n 6 t n n2 t n n 2 t n n ...