選擇排序算法及其程序?qū)崿F(xiàn)教學(xué)設(shè)計_第1頁
選擇排序算法及其程序?qū)崿F(xiàn)教學(xué)設(shè)計_第2頁
選擇排序算法及其程序?qū)崿F(xiàn)教學(xué)設(shè)計_第3頁
選擇排序算法及其程序?qū)崿F(xiàn)教學(xué)設(shè)計_第4頁
選擇排序算法及其程序?qū)崿F(xiàn)教學(xué)設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、選擇排序算法及其程序?qū)崿F(xiàn)四位大哥比身高27363218d(1)27272718d(2)36361827d(3)32183636d(4)18323232d(1)1818d(2)2727d(3)3232d(4)3636(1)第一遍冒泡d(1)181818d(2)272727d(3)363232d(4)323636(2)第二遍冒泡(3)第三遍冒泡共進(jìn)行( )次比較,( )次交換我來拼一拼選擇排序的基本思想 選擇排序(升序)的方法是 第1步: 找出n數(shù)組元素(d(1)d(n)中最小的數(shù)據(jù),使它與第1個數(shù)據(jù)d(1) 交換位置。 第2步:在余下的元素d(2)d(n)中繼續(xù)找最小的數(shù)據(jù),使它與第2個數(shù)據(jù)d(

2、2) 交換位置。 第i步:在剩下的元素(d(i)d(n) 中找出最小數(shù),使它與第i個數(shù)據(jù)d(i)交換位置。 *代表未排序子序列中 的最小元素273632184個數(shù)選擇排序(升序)d(1)2718d(2)3636d(3)3232d(4)1827d(1)1818d(2)2727d(3)3232d(4)3636(1)第1遍排序d(1)1818d(2)3627d(3)3232d(4)2736(2)第2遍排序(3)第3遍排序共進(jìn)行( )次交換算法演示分析第 1 遍 選擇18363227k=1For j=2 to 4 if d(k)d(j) then k=jNext j 交換d(1)和d(k) 27363

3、218d (1) d (2) d (3) d (4) j=2k=127363218j=3k=1 27363218j=4k=j 15363227j=2Min=1j=3j=4If k1 then第2遍選擇18363227d (1) d (2) d (3) d (4) j=3k=2 18363227j=3k=j 18363227j=4k=j j=418363227k=j 18273236k=2For j=3 to 4 if d(k)d(j) then k=jNext jIf k2 then 交換d(2)和d(k) 第3遍選擇18273236d (1) d (2) d (3) d (4) j=4k=3

4、k=3For j=4 to 4 if d(k)d(j) then k=jNext jIf k3 then 交換d(3)和d(k) k=1For j=2 to 4 if d(k)d(j) then k=jNext jIf k1 then 交換d(1)和d(k)27363218k=2For j=3 to 4 if d(k)d(j) then k=jNext jIf k2 then 交換d(2)和d(k) k=3For j=4 to 4 if d(k)d(j) then k=jNext jIf k3 then 交換d(3)和d(k) i=1i=2i=3找一找?guī)ь伾珨?shù)字與i的關(guān)系?n=4總結(jié)1用i記錄

5、選擇排序遍數(shù)總結(jié)1*第1遍選擇 ,j從2開始到4k=1For j=2 to 4 if d(k)d(j) then k=jNext jIf k1,交換d(1)和d(k)k=2For j=3 to 4 if d(k)d(j) then k=jNext jIf k2 then 交換d(2)和d(k)*第2遍選擇 ,j從3開始到4*第3遍選擇 ,j從4開始到4k=3For j=4 to 4 if d(k)d(j) then k=jNext jIf k3 then 交換d(3)和d(k)For i=1 to 3k=ifor j=i+1 to 4 if d(k)d(j)then k=jnext jif k

6、 i then 交換d(i)和d(k)end ifNext i如果是 n個數(shù)呢?n個數(shù)選擇排序的基本算法For i = 1 To n-1 Next i 找出d(i)至d(n)中的最小值 將最小值與第i個數(shù)據(jù)d(i)交換位置 For j = i+1 to nNext j 外循環(huán) 內(nèi)循環(huán)程序?qū)崿F(xiàn)For i = 1 To n - 1 k = i For j = i + 1 To n If d(k) d(j) Then k = j endif Next j If k i Then t = d(i) d(i) = d(k) d(k) = t End IfNext i試一試:利用已學(xué)的選擇排序算法,對初始數(shù)據(jù)【49,38,65,97,76,13,27,59】升序排序。原始數(shù)據(jù)第1遍第2遍第3遍第4遍第5遍第6遍第7遍4938659776132759共進(jìn)行( )次比較,( )次交換選擇排序的比較次數(shù):n*(n-1)/2冒泡排序的比較次數(shù):n*(n-1)/2冒泡排序的交換次數(shù):交換次數(shù):與待排序元素的初始狀態(tài)有關(guān),當(dāng)待排序已經(jīng)有序時,交換0次。最壞情況下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論