【正文】
hm ?采用已描述過的三種結(jié)構(gòu),可以為任何可解的問題創(chuàng)建算法。 – 能行性 :算法中每條指令都是基本的,至少能夠被人或機(jī)器所確定執(zhí)行。更特別的是, 還應(yīng)該記住算法接收一組 輸入數(shù)據(jù) ,并產(chǎn)生一組 輸出數(shù)據(jù) . 5 Finding the largest integer among five integers 6 Defining actions in FindLargest algorithm 7 FindLargest refined (精化 ) 8 Generalization (泛化 ) of FindLargest 9 算法 ? is any welldefined putational procedure that – takes some value, or set of values, as input and produces some value, or set of values, as output. – An algorithm is thus a sequence of putational steps that transform the input into the output. ? 具有如下性質(zhì) – 通用性 :對(duì)于符合輸入數(shù)據(jù)類型的任意輸入數(shù)據(jù),都能根據(jù)算法進(jìn)行問題求解,并保證計(jì)算結(jié)果的正確性。 ? 簡而言之,程序的構(gòu)成(算法)與數(shù)據(jù)結(jié)構(gòu)是兩個(gè)不可分割地聯(lián)系在一起的問題。 ? 我們所感興趣的是如何尋找到一個(gè)好(計(jì)算速度快或占用內(nèi)存少)的辦法來進(jìn)行排序 。 堆排序( Heap Sort) 一種效率非常高,但原理較復(fù)雜的排序方法。這樣逐步縮小范圍,直到找到所需數(shù)據(jù)。順序查找不要求待查找的數(shù)據(jù)序列已經(jīng)排好序。未排序列表中最小(或最大)的元素通過冒泡的形式(從后往前冒泡)從未排序列表中交換到已排序列表中。這個(gè)過程持續(xù)到子算法變?yōu)樽畋举|(zhì)的(可被立刻理解) 18 流程圖表示算法 開始 /結(jié)束 處理(動(dòng)作) 流程線 輸入 /輸出 條件判斷 ? 流程圖顯示了程序的流程判斷結(jié)構(gòu)。 – 有窮性 :對(duì)于任意一個(gè)合法的輸入,算法應(yīng)在有限多步內(nèi)結(jié)束,并給出計(jì)算結(jié)果