(計算機二級)WEB程式設計複習(一)

2021-10-01 15:45:49 字數 2991 閱讀 7372

(1)定義:演算法是指解題方****而完整的描述,即演算法是對特定問題求解步驟的一種描述。它是一組嚴謹定義運算順序的規則,且每個規則都是明確有效的,此順序將在有限的次數下終止。注意:演算法≠程式,也≠計算方法。

(2)基本特徵:

①可行性:演算法中每乙個步驟都必須能實現演算法執行的結果要能夠達到預期的目的。

②確定性:演算法中每乙個步驟都要有明確的定義,不允許有模稜兩可的解釋,也不允許有多義性。

③有窮性:演算法必須能在有限的時間內做完,即必須在執行有限個步驟之後終止,且必須有合理的執行時間。

④擁有足夠的情報:演算法是否有效取決於情報是否足夠,一般而言,情報足夠此演算法有效,反之則無效。

例題:演算法的有窮性是指()。

a. 演算法程式的執行時間是有限的

b. 演算法程式所處巧的數巧量是有眼的

c.演算法程式的長度是有限的

d.演算法只能被有限的使用者使用

(1)列舉法

①基本思想:根據提出的問題,列舉所有可能的情況,並用問題中給定的條件檢驗哪些是需要的,哪些是不需要的。常用於解決"是否存在"或"有多少種可能"等型別的問題。

②特點:演算法比較簡單,但是列舉情況過多時,演算法工作量很大。

③注意事項:例舉演算法時,通過對實際問題進行巧細分析,將與問題有關的知識條理化、完備化、系統化,並化中找出規律,或對所有可能的情況進巧分類,從而引出一些有用化資訊,減少列舉量。

(2)歸納法

① 基本思想:通過列舉少量特殊情況,經過分析,最後找出一般關係。

② 主要特點:比列舉法更能反映問題的本質,可解決列舉量為無限的問題、可操作性低,不易歸納出乙個具體數學模型、歸納得出的結論只是一種猜測,須對這種猜測加以必要的證明。

(3)遞推法

①基本思想:從己知的初識條件出發,逐次推出所要求的各中間結果和最後結果。

② 主要特點 :初始條件或問題本身己給定,或通過對問題的分析化簡得到、遞推本質上屬於歸納法,遞推關係式往往是歸納的結果、數值型遞推演算法計算過程中必須注意數值計算的穩定性問題。

(4) 遞迴

① 基本思想 :將複雜問題逐層分解,歸結為一些簡單的問題,將簡單問題解決掉,再沿著原來分解的逆過程逐步進行綜合。

② 主要特點 :遞迴的基礎是歸納,對問題逐層分解的過程實際上並沒有對問題進行求解、 在可計算性理論和演算法設計中占有重要地位、 遞迴演算法比遞推演算法淸晰易讀,結構簡練;、設計遞迴演算法比遞推演算法容易,但是其執行效率較低。

③ 分類

a. 直接遞迴。乙個演算法p顯式地呼叫自己。

b. 間接遞迴。演算法p呼叫另乙個演算法q,而演算法q 又呼叫演算法p。

==④ 遞迴與遞推的區別 ==

遞迴與遞推的區別主要在於二者實現方法的不同,表現為:

a. 遞迴是從演算法本身到達遞迴的邊界的;

b. 遞推是從初始條件出發,逐次推出所需求的結果。

(5) 減半遞推技術

減半遞推技術是工程上常用的分治法,其中,「減半」指將問題的規模減半,而問題的性質不變;「遞推」指 重複「減半」的過程。

(6) 回溯法

回溯法是指通過對問題的分析,找出乙個解決問題的線索,然後沿著這個線索逐步試探,若試探成功,則問 題得到解決,若試探失敗,則逐步回退換別的路線再進行試探。

1.下列敘述中正確的是()

a. 所謂演算法就是計算方法

b. 程式可以作為演算法的一種描述方法

c. 演算法設計只需考慮得到計算結果

d. 演算法設計可以忽略演算法的運算時間

2.下列關於演算法的描述中錯誤的是()

a. 演算法強調動態的執行過程,不同於靜態的計算公式

b.演算法必須能在有限個步驟之後終止

c. 演算法設計必須考慮演算法的複雜度

d. 演算法的優劣取決於執行演算法程式的環境

(1) 時間複雜度

① 定義

演算法的時間複雜度是指執行演算法所需要的計算工作量。

演算法的工作量用演算法所執行的基本運算次數來度量,而演算法所執行的基本運算次數是問題規模的函式,即

演算法的工作量=f (n) 其中,n是問題的規模。

② 在同一問題規模下,若演算法的基本運算次數取決於某一特定輸入,可用以下兩種方法來分析演算法的工作量:a. 平均性態

平均性態分析是指用各種特定輸入下的基本運算次數的加權平均值來度量演算法的工作量。演算法的平均性態定 義為:

a(n) = 22 p(x) t(x)

其中,x是所有可能輸入中的某個特定輸入,p(x)是x出現的概率,即輸入為x的概率,t(x)是演算法在輸入為x吋所執行的基本運算次數。

(2) 空間複雜度

① 定義

演算法的空間複雜度一般是指執行這個演算法所需要的記憶體空間。

② 儲存空間組成

乙個演算法的儲存空間包括以下幾種:

a. 演算法程式占用的空間;

b. 輸入的初始資料占用的儲存空間;

c. 演算法執行過程中所需要的額外空間。

額外空間包括演算法程式執行過程中的工作單元以及某種數裾結構所需要的附加儲存空間,若額外空間相對於 問題規模來說是常數,則稱該演算法是原地工作的。

1.下列敘述中正確的是( )

a. 演算法的效率只與問題的規模有關,而與資料的儲存結構無關

b. 演算法的時間複雜度是指執行演算法所需要的計算工作量

c. 資料的邏輯結構與儲存結構是一一對應的

d.演算法的時間複雜度與空間複雜度一定相關

2、演算法的空間複雜度是指( )

a. 演算法在執行過程中所需要的計算機儲存空間

b. 演算法所處理的資料量

c. 演算法程式中的語句或指令條數

d. 演算法在執行過程中所需要的臨時工作單元數

3、演算法空間複雜度的度量方法是( )

a. 演算法程式的長度

b. 演算法所處理的資料m

c. 執行演算法所需要的工作單元

d. 執行演算法所需要的儲存空間

計算機二級

e r圖中規定 用矩形表示實體 等同於表 用橢圓形表示實體的屬性 等同於表中字段 用菱形表示實體關係 等同於外來鍵 還要將有關係的實體用線連線上,線上畫菱形。解釋 佇列元素 尾指標 頭指標 佇列容量 佇列容量 a 219 b 221 c 229 d 221 解析 二叉樹有個性質,葉子節點總比度為二的...

計算機二級c

include include define n 10 double fun double x,double y double x 效果和 double x一樣 void main printf n printf 平均數是 2f n fun x,y 注意 因為陣列y大小為n,但陣列y一定用不完,沒有...

計算機二級 C

計算機完成一條指令所花費的時間稱為乙個指令週期 對資料進行壓縮儲存會降低演算法的空間複雜度 結構化程式設計強調程式的易讀性 系統軟體是管理計算機的資源,提高計算機的使用效率,為使用者提供各種服務的軟體,作業系統,資料庫,編譯程式,網路軟體。const是乙個c 語言的關鍵字,它限定乙個變數不允許被改變...