2 演算法的基本特徵
3 演算法的基本要素
4 演算法複雜度
多字警告,諸位看看就好,有個大概的概念對以後的學習有很大幫助,下面寫的可能有一些地方有著過時的內容,還望大佬們指點一下,我盡可能的去完善,謝謝。
是指對解題方案準確而完整的描述。在我看來就是你在解決問題的過程中所形成的一種框架,一種總結。所以不同的演算法所側重的點不同,根據專案的需要選擇對應的演算法時是十分有必要的。
演算法在特定的執行環境中執行應當能夠得出滿意的結果,即必須有乙個或多個輸出。乙個演算法,即使在數學理論上時正確的,但如果在實際的計算工具上不能執行,則該演算法也是不具有可行性的。
例如:當計算工具具有7位有效數字(單精度的運算),則所以,演算法與計算公式是有差別的,在設計演算法時,必須考慮它的可行性。a=1012.b=1.c=-1012.
這時,計算的順序就尤為重要
a+b+c=0;
a+c+b=1;
表現在對演算法的每一步描述都是明確的
,沒有多義性,只要輸入相同,初始狀態相同,則無論執行多少遍,所得的結果都應該相同。
演算法的步驟為有限個
,且每個步驟都能在有限的時間內完成。這包含合理的執行時間的含義,如果乙個演算法執行時耗費時間太長,即使最終得出了正確結果,也是沒有意義的。
一般來說,演算法在擁有足夠
的輸入資訊和初始化資訊
時,才是有效的
;當提供的情報不夠時,演算法可能無效。(我理解的就是一定要記得初始化你輸入的函式後再使用,或者直接在定義的時候輸入其值,這樣就不會導致後面的運算因此出錯)
取決於兩方面:選用的操作
和各個操作之間的順序
。
因此,乙個演算法通常由兩種基本要素組成:
1、對資料物件的運算和操作;
2、演算法的控制結構,即運算或操作間的順序。
在計算機上,可以直接執行的基本操作通常是用指令來描述的,每個指令代表一種或幾種操作。
指令系統:乙個計算機系統能執行的所有指令的集合。指令系統是軟體與硬體分界的乙個主要標誌
如圖也可以看出軟硬體之間是通過指令系統來溝通的。
而演算法就是按要求從指令系統中選擇合適的指令組成的指令序列,所以,計算機指令就是計算機能執行的操作所組成的指令序列,也就可以看出,不同的計算機系統中,指令系統都是有差異的。但是,一般在計算機系統中,都包括下列4類基本的運算和操作。
運算型別
操作算術運算
+ - * %(/)
邏輯運算
與(&)或(ii)非(!)
關係運算
> < = ≠
資料傳輸
賦值 輸入 輸出
一般指的是操作間的執行順序。
演算法一般是由順序、選擇(分支)和迴圈(重複)3種基本結構組成
1)順序結構
2)選擇結構
3)迴圈結構
[偷個懶哈]
常用的有列舉法、歸納法、遞推法、遞迴法、減半遞推技術和回溯法
一般體現在執行演算法時所需要的計算機資源,越多則說明複雜度越高。而在計算機中的資源裡面,最重要的就是時間與空間(儲存器)資源。所以,演算法複雜度包括演算法的時間複雜度和演算法的空間複雜度。
指執行演算法所需要的計算工作量。
這裡要記住演算法程式執行的具體時間和演算法的時間複雜度並不是一致的。
演算法程式執行的具體時間受到使用的計算機、程式語言以及演算法實現過程中的許多細節的影響:而演算法的時間複雜度與上述因素無關。
演算法的計算工作量的度量是演算法所執行的基本運算次數,而基本運算次數也是問題規模的函式,所以說,可以用平均性態和最壞情況複雜性
來分析。
指執行這個演算法所需的記憶體空間。
演算法執行時所需的儲存空間包括:
輸入資料所佔的儲存空間:
程式本身所佔的儲存空間;
演算法執行過程中所需要的額外空間。
其中,額外空間包括演算法程式執行過程中的工作單元,以及某種資料結構所需要的附加儲存空間如果額外空間量相對於問題規模(輸入資料所佔的儲存空間)來說是常數,即額外空間量不隨問題規模的變化而變化,則稱該演算法是原地工作的。
所以為了降低演算法的空間複雜度,主要因減少輸入資料所佔的儲存空間以及額外空間,通常採用壓縮儲存技術。
二級公共基礎知識 二級公共基礎知識 01
樹是一種資料結構,它是由n n 1 個有限結點組成乙個具有層次關係的集合。把它叫做 樹 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。樹的特點 每個結點有零個或多個子結點 沒有父結點的結點稱為根結點 每乙個非根結點有且只有乙個父結點 除了根結點外,每個子結點可以分為多個不相交的子樹 ...
學習筆記 二級公共基礎知識
演算法 1.演算法是指對解題方 而完整的描述,演算法不等於數學上的計算方法,也不等於程式。2.演算法設計需要考慮可行性 確定性 有窮性與足夠的情報,不能只考慮計算結果。3.演算法設計有窮性是指操作步驟有限且能在有限時間內完成。4.演算法在實現時需要具體的程式語言描述,所以程式可以作為演算法的一種描述...
計算機二級公共基礎知識 02
在鏈式儲存方式中,要求每個結點由兩部分組成 一部分用於存放資料元素值,稱為資料域 另一部分用於存放指標,稱為指標域。其中指標用於指向該結點的前乙個或後乙個結點 即前件或後件 樹是簡單的非線性結構,樹中有且僅有乙個沒有前驅的節點稱為 根 其餘節點分成m個互不相交的有限集合t1,t2,tm,每個集合又是...