一.多個(gè)關(guān)鍵字的排序可以轉(zhuǎn)化為單個(gè)關(guān)鍵字的排序
二.分?jǐn)?shù)相等的人A和B,排序之前A在B前,排序后A仍在B前,則此排序是穩(wěn)定的,否則是不穩(wěn)定的.
三.
內(nèi)排序:排序的整個(gè)過程中,待排序的所有記錄全部放置在內(nèi)存中
外排序:由于排序的記錄個(gè)數(shù)太多,不能同時(shí)放置在內(nèi)存,整個(gè)排序過程需要在內(nèi)外存之間多次交換數(shù)據(jù)才能進(jìn)行.
四:排序算法:
1.冒泡排序:
(1)當(dāng)i=1時(shí),將最小值1冒泡到頂端
1.JPG
(2)當(dāng)i=2時(shí),將最小值2冒泡到頂端
image.png
(3)以此類推
冒泡排序優(yōu)化:
1.JPG
2.簡(jiǎn)單選擇排序算法:
1.JPG
3.直接插入排序算法:
1.JPG
4.堆排序算法:
1.JPG
(1):構(gòu)建堆:
長度為9, s=9/2 = 4
取前4個(gè)值為跟節(jié)點(diǎn),構(gòu)建堆
1.JPG
(2)構(gòu)建大頂堆:
1.JPG
(3)排序
i=9時(shí),將第9個(gè)元素20,和第一個(gè)元素90(大頂堆中最大的數(shù)交換),此時(shí)第9個(gè)元素已排序好,為最大的數(shù)90
交換后,除90以外剩余的元素,重新構(gòu)建大頂堆.把剩余元素中最大的數(shù)80移到了堆頂?shù)奈恢?/p>
1.JPG
i=8時(shí),將第8個(gè)元素30,和第一個(gè)元素80(大頂堆中目前最大的數(shù)交換),此時(shí)第8個(gè)元素已排序好,為目前最大的數(shù)80
交換后,除90,80以外剩余的元素,重新構(gòu)建大頂堆.把剩余元素中最大的數(shù)70移到了堆頂?shù)奈恢?/p>
以此類推完成堆排序:
1.JPG