版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
分類(排序)—外部排序二內(nèi)部排序1.選擇排序2.冒泡排序3.快速排序選擇排序基本思想:首先從要排序的數(shù)中選擇最大的數(shù),將它放在第一個位置,然后從剩下的數(shù)中選擇最大的數(shù)放在第二個位置,如此繼續(xù),直到最后從剩下的兩個數(shù)中選擇最大的數(shù)放在倒數(shù)第二個位置,剩下的一個數(shù)放在最后位置,完成排序。例:把下列數(shù)從大到小排序:4
5
7
1
23I
=1745123I
=2754123I
=3754123I
=4754312I
=5754321輸入A(N)各值I 1
TO
N-1J I+1
TO
NA[I]<A[J]YN交換A[I]與A[J]的值輸出排序后的結果流程圖:K
IJ I+1
TO
NA[K]<A[J]NI<>JYNK
JY交換A[K]與A[J]的值輸出排序后的結果優(yōu)化后的選擇排序算法:輸入A[N]各值I 1
TO
N-1冒泡排序基本思想:依次比較相鄰的兩個數(shù),將大數(shù)放在前面,小數(shù)放在后面。即首先比較第1個數(shù)和第2個數(shù),將大數(shù)放前,小數(shù)放后,然后比較第2個數(shù)和第3個數(shù),大數(shù)放前,小數(shù)放后,如此繼續(xù),直到比較最后兩數(shù),大數(shù)放前,小數(shù)放后,至此第一趟結束,此時在最后一個位置上放的必是所有數(shù)中最小的數(shù)。重復以上過程,從第一個數(shù)開始,直比到最小數(shù)前的一對相鄰數(shù),至此次小數(shù)被放在了倒數(shù)第二個位置上,如此繼續(xù),直到最后一趟。例:把下列數(shù)從大到小排序:第一趟結束457123547123574123574123574213574231754231754231754231754321輸入數(shù)組各值I
1
TO
N-1J
1
TO
N-IA[J]<A[J+1]YN交換A[J]和A[J+1]輸出排序結果流程圖:A[j]<A[j+1]yn交換A[j]和A[j+1]Flag
falsei
i+1Flag=true輸出排序結果優(yōu)化后的冒泡排序算法:輸入數(shù)組各值
;
i
1;Flag
trueJ 1
to
n-i快速排序基本思想:從欲排序的數(shù)列中取一合適的數(shù)K,以K為標準把要排序的N個數(shù)分成兩部分,一部分是比K小的,一部分是比K大的,即把數(shù)列分成:(小于K部分)K(大于K部分),然后對這兩部分分別按此方法繼續(xù)進行分組,直到被分成的每一部分都只含有一個數(shù)據(jù)為止.算法:將參加排序的數(shù)據(jù)放入一個數(shù)組A中,假定為A1,A2,…,An;將數(shù)組A重新組織成A’,A1,A”.其中A’是所有小于A1的數(shù)據(jù)的集合,A”是所有不小于
A1的數(shù)據(jù)的集合.對A’,A”重復步驟2,直到每個集合都只有一個數(shù)據(jù),排序完畢.例:對下列數(shù)按從小到大排序3
9
1
6
5
4
8
2
10
72)指針j向左移動,直到碰到比3小的數(shù)為止,本例為23
9
1
6
5
4
8
2
10
7ij2與3互換得2
9
1
6
5
4
8
3
10
7ji1)引進指針i和j分別指向數(shù)列的開始和終止,并利用最左端的數(shù)據(jù)作為k3
9
1
6
5
4
8
2
10
7ijK=33)指針i向右移動,直到遇到比3大的數(shù)據(jù)為止.本例為9.2
9
1
6
5
4
8
3
10
7i
j9與3互換得2
3
1
6
5
4
8
9
10
74)對指針i和指針j間的序列繼續(xù)以上(1)-(3)步驟直到指針重合為止,第一輪結束.把序列分成比3小的和比3大的兩部分:231654891072i1j365489107ij6
5
4
8
9
10
7K=6i
j6
5
4
8
9
10
7j從往左找比6小的i
j4
5
6
8
9
10
74,6互換i右移,找6大的i
j4
5
6
8
9
10
7i
j4
5
6
8
9
10
7ij直到i,j重合這一輪結束開始7小于8,j不動
7,8互換i向右移,找比8大的8,9互換j向左移,找比8小的8
9
10
7i
j7
9
10
8i
j7
9
10
8i
j7
8
10
9i
j7
8
10
9ij直到i,j重合,此輪結束8
9
10
7ji7
9
10ji7
9
10i7i7j10
9j10
9ij7
8
10
9ij算法:(過程qk_sort(I,j)){I為1,J為n}a[i];left
i,
right j;
k重復只要I<j且a[j]>=k,循環(huán)j j-1;如果I<j,
則a[i]
a[j];只要I<j且a[I]<k,循環(huán)I
I+1;如果I<j,則a[j]
a[i];直到I=j;A[i]
k如果兩部分數(shù)列長度均不為1,則重復
qk_sort(left,I-1);qk_sort(j+1,rLeft I;
right j;
k
a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第八屆全國高校輔導員素質(zhì)能力大賽賽題(案例分析)
- 幼小銜接培訓心得體會10篇
- 效期藥品管理策略
- 文化傳媒拍賣交易準則
- 金融市場監(jiān)控法律顧問管理辦法
- 基坑降水施工合同:地鐵隧道工程
- 工業(yè)廠房施工合同糾紛模板
- 家具城租賃家居生活租賃合同
- 藝術設備保養(yǎng)維護管理規(guī)程
- 印刷廠環(huán)境與職業(yè)健康安全
- 2024年品牌營銷全案策劃合同
- 2023年湖南長沙環(huán)境保護職業(yè)技術學院專任教師招聘考試真題
- 河北省石家莊市2024年七年級上學期期中數(shù)學試題【附答案】
- 第七章 立體幾何與空間向量綜合測試卷(新高考專用)(教師版) 2025年高考數(shù)學一輪復習專練(新高考專用)
- 《算法設計與分析基礎》(Python語言描述) 課件 第8章動態(tài)規(guī)劃1
- 生產(chǎn)流程(線)外包服務規(guī)范 -DB13-T 5224-2020 河北
- 部編人教版道德與法治一年級上冊:6校園里的號令教學設計(2課時)
- 2021人音版小學音樂六年級上冊課程綱要
- 三秦思語(2022年陜西中考語文試卷散文閱讀題及答案)
- 2024年秋新外研版(三起)英語三年級上冊全冊教案(2024年新教材)
- 抽水蓄能電站輔助洞室工程施工組織設計
評論
0/150
提交評論