數(shù)據(jù)結(jié)構(gòu)及算法排序課件.ppt
《數(shù)據(jù)結(jié)構(gòu)及算法排序課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)及算法排序課件.ppt(116頁(yè)珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、第八章第八章第八章第八章 排序技術(shù)排序技術(shù)排序技術(shù)排序技術(shù)本章的基本內(nèi)容是:本章的基本內(nèi)容是:排序的基本概念排序的基本概念插入排序插入排序交換排序交換排序選擇排序選擇排序歸并排序歸并排序 8.18.18.18.1概概概概 述述述述 排排序序:將將一一組組“無(wú)無(wú)序序”的的記記錄錄序序列列,調(diào)調(diào)整整為為按按關(guān)關(guān)鍵鍵字字“有有序序”的記錄序列的記錄序列.學(xué)號(hào)學(xué)號(hào)姓名姓名高數(shù)高數(shù)英語(yǔ)英語(yǔ)思想品德思想品德0002王王 軍軍85880001李李 明明64920003湯曉影湯曉影85866872781.1.排序的基本概念排序的基本概念排序的基本概念排序的基本概念排排序序:給給定定一一組組記記錄錄的的集集合合
2、r1,r2,rn,其其相相應(yīng)應(yīng)的的關(guān)關(guān)鍵鍵碼碼分分別別為為k1,k2,kn,排排序序是是將將這這些些記記錄錄排排列列成成順順序序?yàn)闉閞s1,rs2,rsn的的一一個(gè)個(gè)序序列列,使使得得相相應(yīng)應(yīng)的的關(guān)關(guān)鍵鍵碼碼滿滿足足非非遞遞減減關(guān)關(guān)系系ks1ks2ksn(稱稱為為升升序序)或或非非遞遞增增關(guān)關(guān)系系ks1ks2ksn(稱為稱為降序降序)。)。1.1.排序的基本概念排序的基本概念排序的基本概念排序的基本概念學(xué)號(hào)學(xué)號(hào)姓名姓名高數(shù)高數(shù)英語(yǔ)英語(yǔ)0002李李 明明640001王王 軍軍850003湯曉影湯曉影85726878學(xué)號(hào)學(xué)號(hào)姓名姓名高數(shù)高數(shù)英語(yǔ)英語(yǔ)0001王王 軍軍850002李李 明明64000
3、3湯曉影湯曉影856872788.18.18.18.1概概概概 述述述述 假定在待排序的記錄集中,存在假定在待排序的記錄集中,存在多多個(gè)具有相同鍵值個(gè)具有相同鍵值的記錄,若經(jīng)過(guò)排序,這些記錄的的記錄,若經(jīng)過(guò)排序,這些記錄的相相對(duì)次序?qū)Υ涡蛉匀槐3植蛔?,即在原序列中,仍然保持不變,即在原序列中,ki=kj且且ri在在rj之之前,前,而在排序后的序列中,而在排序后的序列中,ri一定在一定在rj之前之前,則稱這種,則稱這種排序算法是排序算法是穩(wěn)定的穩(wěn)定的;否則稱為;否則稱為不穩(wěn)定的不穩(wěn)定的。學(xué)號(hào)學(xué)號(hào)姓名姓名高數(shù)高數(shù)英語(yǔ)英語(yǔ)思想品德思想品德0001王王 軍軍85880002李李 明明64920003湯
4、曉影湯曉影8586687278排序算法的穩(wěn)定性:排序算法的穩(wěn)定性:8.18.18.18.1概概概概 述述述述 1.1.排序的基本概念排序的基本概念排序的基本概念排序的基本概念 待排序序列中的記錄已按關(guān)鍵碼待排序序列中的記錄已按關(guān)鍵碼排好序排好序。待排序序列中記錄的排列順序與排好待排序序列中記錄的排列順序與排好序的順序序的順序正好相反正好相反。學(xué)號(hào)學(xué)號(hào)姓名姓名高數(shù)高數(shù)英語(yǔ)英語(yǔ)思想品德思想品德0001王王 軍軍85880002李李 明明64920003湯曉影湯曉影85866872788.18.18.18.1概概概概 述述述述 1.1.排序的基本概念排序的基本概念排序的基本概念排序的基本概念正序:正
5、序:逆序(反序):逆序(反序):排序的分類排序的分類 在排序的整個(gè)過(guò)程中,待排序的所有記錄在排序的整個(gè)過(guò)程中,待排序的所有記錄全部被放置在內(nèi)存中全部被放置在內(nèi)存中,不需要訪問(wèn)外存不需要訪問(wèn)外存 由于待排序的記錄個(gè)數(shù)太多,由于待排序的記錄個(gè)數(shù)太多,不能同時(shí)放不能同時(shí)放置在內(nèi)存置在內(nèi)存,而需要將一部分記錄放置在內(nèi)存,另一部,而需要將一部分記錄放置在內(nèi)存,另一部分記錄放置在外存上,整個(gè)排序過(guò)程需要在分記錄放置在外存上,整個(gè)排序過(guò)程需要在內(nèi)外存之內(nèi)外存之間多次交換數(shù)據(jù)間多次交換數(shù)據(jù)才能得到排序的結(jié)果。才能得到排序的結(jié)果。8.18.18.18.1概概概概 述述述述 1.1.排序的基本概念排序的基本概念排
6、序的基本概念排序的基本概念1.1.內(nèi)排序:內(nèi)排序:2.2.外排序:外排序:2.2.內(nèi)排序算法內(nèi)排序算法內(nèi)排序算法內(nèi)排序算法 1.插入排序插入排序 2.交換排序交換排序 3.選擇排序選擇排序 4.歸并排序歸并排序直接插入排序直接插入排序希爾排序希爾排序冒泡排序冒泡排序快速排序快速排序簡(jiǎn)單選擇排序簡(jiǎn)單選擇排序堆排序堆排序8.18.18.18.1概概概概 述述述述 排排序序基基本本過(guò)過(guò)程程:是是一一個(gè)個(gè)逐逐步步擴(kuò)擴(kuò)大大記記錄錄的的有有序序序序列列長(zhǎng)長(zhǎng)度度的過(guò)程的過(guò)程3.3.排序的基本過(guò)程排序的基本過(guò)程排序的基本過(guò)程排序的基本過(guò)程有序序列區(qū)無(wú)序序列區(qū)有序序列區(qū)無(wú)序序列區(qū)一趟排序一趟排序:將無(wú)序序列區(qū)里
7、一個(gè)或幾個(gè)記錄合并到有序序列的過(guò)程為一趟排序,有序序列長(zhǎng)度增加1個(gè)或幾個(gè)8.18.18.18.1概概概概 述述述述 4.4.排序算法的存儲(chǔ)結(jié)構(gòu)排序算法的存儲(chǔ)結(jié)構(gòu)排序算法的存儲(chǔ)結(jié)構(gòu)排序算法的存儲(chǔ)結(jié)構(gòu)從操作角度看,排序是從操作角度看,排序是線性結(jié)構(gòu)線性結(jié)構(gòu)的一種操作,待排序的一種操作,待排序記錄可以用記錄可以用順序順序存儲(chǔ)結(jié)構(gòu)或存儲(chǔ)結(jié)構(gòu)或鏈接鏈接存儲(chǔ)結(jié)構(gòu)存儲(chǔ)。存儲(chǔ)結(jié)構(gòu)存儲(chǔ)。假定假定2:將待排序的記錄序列將待排序的記錄序列排序?yàn)榕判驗(yàn)樯蛏蛐蛄?。序列。rn+1 假定假定1 1:待排序記錄:待排序記錄采用采用順序順序存儲(chǔ)結(jié)構(gòu),關(guān)鍵碼為存儲(chǔ)結(jié)構(gòu),關(guān)鍵碼為整整型型,且記錄只有關(guān)鍵碼,且記錄只有關(guān)鍵碼一個(gè)
8、一個(gè)數(shù)據(jù)項(xiàng)。數(shù)據(jù)項(xiàng)。8.18.18.18.1概概概概 述述述述 10 15 24 6 12 35 40 980 1 2 3 4 5 6 7 8內(nèi)排序算法內(nèi)排序算法內(nèi)排序算法內(nèi)排序算法 1.插入排序插入排序 2.交換排序交換排序 3.選擇排序選擇排序 4.歸并排序歸并排序直接插入排序直接插入排序希爾排序希爾排序冒泡排序冒泡排序快速排序快速排序簡(jiǎn)單選擇排序簡(jiǎn)單選擇排序堆排序堆排序8.18.18.18.1概概概概 述述述述 8.28.28.28.2插入排序插入排序插入排序插入排序插入排序的主要操作是插入排序的主要操作是插入插入,其基本思想是:,其基本思想是:每次將一個(gè)每次將一個(gè)待排序的記錄待排序的記
- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)結(jié)構(gòu) 算法 排序 課件