就是任何良定義的計算過程,該過程就是取某個值或值的集合作為輸入並產生某個值或值得集合的輸出。
// an highlighted block
// 偽**:
insertion-
sort
(a):
for j =
2 to a.length
key = a[j]
i = j -
1while i >
0 and a[i]
> key
a[i +1]
= a[i]
i = i -
1 a[i +1]
= key
迴圈不變式:
1、初始化
2、保持
3、終止
將原問題分解為幾個規模較小但類似於原問題的子問題,遞迴求解這些子問題,然後再合併這些子問題的解來建立原問題的解。
分治模式在每層遞迴時都有三個步驟:
1、分解
2、解決
3、合併
//偽**
merge
(a, p, q, r)
: n1 = q- p +
1 n2 = r - q
let l[
1..n1] and r[q.
.n2] be new
arrays
//宣告陣列
for i =
1 to n1
l[i]
= a[p + i -1]
for j =
1 to n2
r[j]
= a[q + j]
l[n1 +1]
= ∞ r[n2 +1]
= ∞ i =
1 j =
1for k = p to r
if l[i]
< r[j]
a[k]
= l[i]
i = i +
1else a[k]
== r[j]
j = j +
1
第一天筆記
ide integrated development environment 整合開發環境 常用開發環境有idle pythcharm wingide eclipse ipython 1.ctrl z 和回車 2.輸入quit 命令 3.直接關閉命令列視窗 ctrl c python中一切皆物件。物...
學習第一天
知識是學會的,不是教會的 程式設計 驗證性或體驗性 創造性 學程式設計的4個階段 1.能看懂別人的 除錯別人的 2.能修改別人的 3.能拷貝別人的 做自己的事 4.能自己設計編寫 方法 多讀 做記錄 執行 修改 執行 練習,光說不練假把式 刷oj總結 寫部落格或許是個不錯的選擇 學生和已經工作的程式...
effective C 學習筆記第一天
1.視c 為乙個語言聯邦 為了理解c 必須認識其主要的次語言。幸運的是總共只有四個 1 c 說到底c 仍是以c 為基礎。blocks,statements,preprocessor,built in data types,arrays,pointers 2 object oriented c 這部分...