- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
資料結構設計與C程式應用-资料排序
第8章 資料排序 排序的基本觀念 檔案(File) 記錄(Row或Record) 欄位(Column或Field) 鍵值(Key Value) 內部排序法(Internal Sort) 氣泡浮昇排序法(Bubble Sort) 選擇排序法(Selection Sort) 插入排序法(Insertion Sort) 謝耳排序法(Shell Sort) 快速排序法(Quick Sort) 累堆排序法(Heap Sort) 合併排序法(Merge Sort) 基數排序法(Radix Sort)或稱為筒子排序法(Bucket Sort) 樹排序法 (Tree Sort) 內部排序法(Internal Sort) 氣泡浮昇排序法(Bubble Sort) 將N筆記錄(編號0至N-1)按鍵值不遞減次序排序的氣泡浮昇排序法 1.重複步驟2 N-1回合,直到其中有一回合沒有「交換」情形發生 為止。 2.比較陣列中相鄰兩元素之鍵值,若前面元素大於後面元素, 則立刻將兩元素值交換。 3. 每一回合會使其底層增加一個完全正確排序的元素。 內部排序法(Internal Sort) 氣泡浮昇排序法(Bubble Sort) 氣泡浮昇排序法之每一回合結果 內部排序法(Internal Sort) 選擇排序法(Selection Sort) 將N筆記錄(編號1至N)按鍵值不遞減次序排序的選擇排序法為: 1. 重複步驟2 N-1回合。 2.找出第i個至第N個鍵值中的最小者,並將之與第i個鍵值交換。 其中i等於回合數。 3. 每一回合會使其上層增加一個完全正確排序的元素。 內部排序法(Internal Sort) 插入排序法(Insertion Sort) 將N筆記錄(編號1至N)依鍵值不遞減之次序排序的插入排序法為: 1. 從第2個鍵值至第N個鍵值,分別執行步驟2。 2.將該鍵值插入到其前面所有鍵值當中第一個大於本身的鍵值之前, 若沒有大於本身者,則保持原狀並繼續下一回合。 3. 每一回合會使其上層增加一個局部正確排序的元素。 內部排序法(Internal Sort) 插入排序法(Insertion Sort) 內部排序法(Internal Sort) 謝耳排序法(Shell Sort) 將N筆記錄(編號0至N-1)按鍵值不遞減之順序排列之謝耳排序法為: 1. 選擇一適當S值(S最好為質數)。 2.重複步驟3、4直到S值等於1為止。 3.將陣列A中的N個鍵值均勻地分成S組且同一組內陣列元素之間距均 為 S,分配結果如下: 第一組:(A[0],A[S],A[2S],...,A[ ?(N-1)/S?*S ]) 第二組:(A[1] ,A[S+1],A[2S+1],..., A[ ?(N-1)/S?*S+1 ]) … 第 S組:(A[S-1],A[2S-1],A[3S-1],…,A[N-1]) 然後,每一分組皆用插入排序法排序之。 4.令 S 等於 S 的前一個質數,跳回步驟 2。(註:本步驟只要 S 值 遞減即可,不一定要為質數) 內部排序法(Internal Sort) 謝耳排序法(Shell Sort) 原始記錄鍵值: 第一回合,令 S=3 內部排序法(Internal Sort) 謝耳排序法(Shell Sort) 第二回合,令 S=S-1=2 最後,令S=1進行插入排序法得到: 內部排序法(Internal Sort) 快速排序法(Quick Sort) 分而治之(Divide and Conquer) 觀念:將待排序的N個鍵值(編號0至N-1)分成左右兩半,左半邊之 鍵值小於第一個鍵值(即a[0]),而右半邊則大於或等於第一個 鍵值,如下圖所示 將A[L]與A[J]之鍵值交換 內部排序法(Internal Sort) 快速排序法(Quick Sort) 將N筆記錄(編號0至N-1)按鍵值不遞減之順序排列之快速排序法為: 1. 令K=待排序範圍之第一個(最左邊)鍵值。(第一次為A[0])。 2.由左向右找出一個鍵值Ki,滿足Ki K。 。 3.由右向左找出一個鍵值Kj,滿足Kj K。 4.若i j則將Ki 與Kj交換,然後跳到步驟2。 5.若i ≧ j則將K與Kj交換,並以j為基準分割成左右兩半,然後分別 針對左右兩半進行步驟1至5,直到左半邊鍵值
您可能关注的文档
最近下载
- 神经系统的个体发生神经解剖学讲稿.pptx VIP
- 中国现代作曲家:三宝人物简介PPT课件.pptx VIP
- 社会责任审核注意事项课件.pptx VIP
- 艾默生涡旋压缩机产品手册.pdf VIP
- 四川成都财务审计师CFA培训认证简章.doc VIP
- 第七单元 第01课时 条形统计图(一)(学习任务单) 四年级数学上册人教版.docx VIP
- 《当幸福来敲门》ppt课件.pptx VIP
- 社会责任审核培训课件.ppt VIP
- 2023年海南三亚市崖州区机关事业单位招考政府雇员储备库100人笔试参考题库(共500题)答案详解版.docx VIP
- 《房颤诊断和治疗中国指南(2023)》解读PPT课件.pptx VIP
原创力文档


文档评论(0)