5.將新數據列中的第5個數97與右邊相鄰的數13進行比較,因為13<97,97應下沉,所以順序改變,得到新的數據列:
{38,49,65, 76, 13,97,27,49}
4.將新數據列中的第4個數97與右邊相鄰的數76進行比較,因為76<97,97應下沉,所以順序不變,得到新的數據列:
{38,49,65, 76,97,13,27,49}
3.將新數據列中的第3個數65與右邊相鄰的數97進行比較,因為97>65,所以順序不變,得到新的數據列:
{38,49,65,97,76,13,27,49}
2.將新數據列中的第2個數49與右邊相鄰的數65進行比較,因為65>49,所以順序不變,得到新的數據列:
{38,49,65,97,76,13,27,49}
1.將第1個數與右邊相鄰的數38進行比較,因為38<49,49應下沉,即向右移動,所以交換他們的位置,得到新的數據列:
{38,49,65,97,76,13,27,49}
3.排序
排序的算法很多,課本主要介紹里兩種排序方法:直接插入排序和冒泡排序
(1)直接插入排序
在日常生活中,經常碰到這樣一類排序問題:把新的數據插入到已經排好順序的數據列中。
例如:一組從小到大排好順序的數據列{1,3,5,7,9,11,13},通常稱之為有序列,我們用序號1,2,3,……表示數據的位置,欲把一個新的數據8插入到上述序列中。
完成這個工作要考慮兩個問題:
(1)確定數據“8”在原有序列中應該占有的位置序號。數據“8”所處的位置應滿足小于或等于原有序列右邊所有的數據,大于其左邊位置上所有的數據。
(2)將這個位置空出來,將數據“8”插進去。
對于一列無序的數據列,例如:{49,38,65,97,76,13,27,49},如何使用這種方法進行排序呢?基本思想很簡單,即反復使用上述方法排序,由序列的長度不斷增加,一直到完成整個無序列就有序了
首先,{49}是有序列,我們將38插入到有序列{49}中,得到兩個數據的有序列:
{38,49},
然后,將第三個數據65插入到上述序列中,得到有序列:
{38,49,65}
…………
按照這種方法,直到將最后一個數據65插入到上述有序列中,得到
{13,27,38,49,49,65,76,97}
這樣,就完成了整個數據列的排序工作。注意到無序列“插入排序算法”成為了解決這類問題的平臺
(2)冒泡法排序
所謂冒泡法排序,形象地說,就是將一組數據按照從小到大的順序排列時,小的數據視為質量輕的,大的數據視為質量沉的。一個小的數據就好比水中的氣泡,往上移動,一個較大的數據就好比石頭,往下移動。顯然最終會沉到水底,最輕的會浮到頂,反復進行,直到數據列排成為有序列。以上過程反映了這種排序方法的基本思路。
我們先對一組數據進行分析。
設待排序的數據為:{49,38,65,97,76,13,27,49}
排序的具體操作步驟如下:
2.秦九韶算法
秦九韶算法的一般規(guī)則:
秦九韶算法適用一般的多項式f(x)=anxn+an-1xn-1+….+a1x+a0的求值問題。用秦九韶算法求一般多項式f(x)= anxn+an-1xn-1+….+a1x+a0當x=x0時的函數值,可把n次多項式的求值問題轉化成求n個一次多項式的值的問題,即求
v0=an
v1=anx+an-1
v2=v1x+an-2
v3=v2x+an-3
……..
vn=vn-1x+a0
觀察秦九韶算法的數學模型,計算vk時要用到vk-1的值,若令v0=an。
我們可以得到下面的遞推公式:
v0=an
vk=vk-1+an-k(k=1,2,…n)
這是一個在秦九韶算法中反復執(zhí)行的步驟,可以用循環(huán)結構來實現
1.求最大公約數
(1)短除法
求兩個正整數的最大公約數的步驟:先用兩個數公有的質因數連續(xù)去除,一直除到所得的商是兩個互質數為止,然后把所有的除數連乘起來
(2)窮舉法(也叫枚舉法)
窮舉法求兩個正整數的最大公約數的解題步驟:從兩個數中較小數開始由大到小列舉,直到找到公約數立即中斷列舉,得到的公約數便是最大公約數
(3)輾轉相除法
輾轉相除法求兩個數的最大公約數,其算法可以描述如下:
① 輸入兩個正整數m和n;
② 求余數r:計算m除以n,將所得余數存放到變量r中;
③更新被除數和余數:m=n,n=r;
④判斷余數r是否為0。若余數為0,則輸出結果;否則轉向第②步繼續(xù)循環(huán)執(zhí)行
如此循環(huán),直到得到結果為止。
(4)更相減損術
我國早期也有解決求最大公約數問題的算法,就是更相減損術。在《九章算術》中記載了更相減損術求最大公約數的步驟:可半者半之,不可半者,副置分母•子之數,以少減多,更相減損,求其等也,以等數約之
步驟:
Ⅰ.任意給出兩個正數;判斷它們是否都是偶數。若是,用2約簡;若不是,執(zhí)行第二步。
Ⅱ.以較大的數減去較小的數,接著把較小的數與所得的差比較,并以大數減小數。繼續(xù)這操作,直到所得的數相等為止,則這個數(等數)就是所求的最大公約數。
算法是高中數學新課程中的新增內容,本講的重點是幾種重要的算法案例思想,復習時重算法的思想輕算法和程序的構造。
預測2011年高考隊本講的考察是:以選擇題或填空題的形式出現,分值在5分左右,考察的熱點是算法實例和傳統(tǒng)數學知識的結合題目
湖北省互聯網違法和不良信息舉報平臺 | 網上有害信息舉報專區(qū) | 電信詐騙舉報專區(qū) | 涉歷史虛無主義有害信息舉報專區(qū) | 涉企侵權舉報專區(qū)
違法和不良信息舉報電話:027-86699610 舉報郵箱:58377363@163.com