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