數(shù)據(jù)結構之排序算法講義ppt課件.ppt
《數(shù)據(jù)結構之排序算法講義ppt課件.ppt》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)結構之排序算法講義ppt課件.ppt(33頁珍藏版)》請在匯文網(wǎng)上搜索。
1、,在此幻燈片插入公司的徽標從“插入”菜單選擇圖片找到徽標文件單擊“確定”重新設置徽標大小單擊徽標內(nèi)任意位置?;諛送獠砍霈F(xiàn)的方框是“調(diào)整控點”使用這些重新設置對象大小如果在使用尺寸調(diào)整控點前按下 shift 鍵,則對象改變大小但維持原比例。,DATA,10,65,865,姓名 學號 成績 班級 李紅 9761059 95 機97.6,數(shù)據(jù)結構,2022/2/18,2,注意帶以下內(nèi)容:圖2-8-1圖2-8-2圖2-8-3圖2-8-4圖2-8-5,2022/2/18,3,第二章數(shù)據(jù)結構與算法,(續(xù)),2022/2/18,4,2.8 排 序2.8.1 概 述,1、排序的功能:將一個數(shù)據(jù)元素(或記錄)的
2、任意序列,重新排成一個按關鍵字有序的序列。2、排序過程的組成步驟: 首先比較兩個關鍵字的大??; 然后將記錄從一個位置移動到另一個位置。,2022/2/18,5,假設待排序的記錄存放在地址連續(xù)的一組存儲單元中,那么這種存儲方式下的數(shù)據(jù)類型可描述為:,MAX,0,1,2,3,4,key,info,#define MAX 20 typedef struct int key; float otherinfo; RedType;,2022/2/18,6,排序方法,插入排序,選擇排序,交換排序,歸并排序,直接插入排序,折半插入排序,簡單選擇排序,堆排序,起泡排序,快速排序,2022/2/18,7,2.8.
3、2 插入排序 直接插入、折半插入,1、直接插入排序:基本思想:從數(shù)組的第2號元素開始,順序從數(shù)組中取出元素,并將該元素插入到其左端已排好序的數(shù)組的適當位置上。舉例:圖8-2-1,2022/2/18,8,2.8.2 插入排序 直接插入、折半插入,該算法適合于n 較小的情況,時間復雜度為O(n2).,1、直接插入排序:基本思想:從數(shù)組的第2號元素開始,順序從數(shù)組中取出元素,并將該元素插入到其左端已排好序的數(shù)組的適當位置上,待排元素序列:53 27 36 15 69 42第一次排序: 27 53 36 15 69 42第二次排序: 27 36 53 15 69 42第三次排序: 15 27 36 5
4、3 69 42第四次排序: 15 27 36 53 69 42第五次排序: 15 27 36 42 53 69 直接插入排序示例,對于有n個數(shù)據(jù)元素的待排序列,插入操作要進行n-1次,2022/2/18,9,void insertSort(RedType L ,int n) int i ,j; for(i=2; i=n; i+) if(Li.keyLi-1.key) L0=Li; /* 作為監(jiān)視哨*/ for( j=i-1; L0.keyLj.key; j ) Lj+1=Lj; /* 記錄后移*/ Lj+1=L0; /* 插入 */ ,插入算法如下:方法:Ki與Ki-1,K i-2,K1依次比
5、較,直到找到應插入的位置。,2022/2/18,10,2、折半插入排序 折半插入排序在尋找插入位置時,不是逐個比較而是利用折半查找的原理尋找插入位置 。待排序元素越多,改進效果越明顯。,折半插入排序的條件: 在有序序列中插入一個關鍵字。,舉例,圖8-2-2,2022/2/18,11,2、折半插入排序 折半插入排序在尋找插入位置時,不是逐個比較而是利用折半查找的原理尋找插入位置。待排序元素越多,改進效果越明顯。,(highlow ,查找結束,插入位置為low 或high+1 ),( 4236 ),( 4253 ),2022/2/18,12,void BinsertSort(RedType L ,
6、int n) int i,low,high,mid; for(i=2; i=high+1; j ) Lj+1=Lj; /* 記錄后移*/ Lhigh+1=L0; /* 插入*/ /* for*/ /*折半插入排序*/,折半插入排序減少了關鍵字的比較次數(shù),但記錄的移動次數(shù)不變,其時間復雜度與直接插入排序相同。,/*折半后的位置*/,2022/2/18,13,1、簡單選擇排序思想:首先從1n個元素中選出關鍵字最小的記錄交換到第一個位置上。然后再從第2 個到第n個元素中選出次小的記錄交換到第二個位置上,依次類推。時間復雜度為O(n2),適用于待排序元素較少的情況。,2.8.3 選擇排序 簡單選擇排序
7、、堆排序,舉例:圖8-2-3,2022/2/18,14,2.8.3 選擇排序 簡單選擇排序、堆排序。 1、簡單選擇排序思想:首先從1n個元素中選出關鍵字最小的記錄交換到第一個位置上。然后再從第2 個到第n個元素中選出次小的記錄交換到第二個位置上,依次類推。時間復雜度為O(n2),適用于待排序元素較少的情況。,初態(tài),8 3 9 1 6,8 3 9 1 6,8 3 9 1 6,8 3 9 1 6,1 3 9 8 6,1 3 9 8 6,1 3 9 8 6,2022/2/18,15,簡單選擇排序的算法如下:void SelectSort( RedType L ,int n) int i,j,k,t;
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 數(shù)據(jù)結構 排序 算法 講義 ppt 課件