黄色三级不卡在线观看-日本免费视频中文字幕-久久精品一区二区三区91-丝袜视频日本成人午夜视频-少妇的玉足让我爽翻天-亚洲av中文字字幕乱码综合-在线免费亚洲精品视频-九九精品在线一区区-欧美日韩一区二区三区内射

學(xué)歷改變命運
24小時客服:4008135555/010-82335555
當(dāng)前位置:首頁 > 筆記串講 > 計算機應(yīng)用專業(yè)上機考試排序算法指導(dǎo)

計算機應(yīng)用專業(yè)上機考試排序算法指導(dǎo)

2006年06月20日    來源:北京自考熱線 怪狗   字體:   打印

  以關(guān)鍵字序列(265,301,751,129,937,863,742,694,076,438)為例,分別寫出執(zhí)行以下排序算法的各趟排序結(jié)束時,關(guān)鍵字序列的狀態(tài)。

  (1) 直接插入排序 (2)希爾排序 (3)冒泡排序 (4)快速排序

 ?。?) 直接選擇排序 (6) 堆排序 (7) 歸并排序 (8)基數(shù)排序

  上述方法中,哪些是穩(wěn)定的排序?哪些是非穩(wěn)定的排序?對不穩(wěn)定的排序試舉出一個不穩(wěn)定的實例。

  答:

 ?。?)直接插入排序:(方括號表示無序區(qū))

  初始態(tài): 265[301 751 129 937 863 742 694 076 438]

  第一趟:265 301[751 129 937 863 742 694 076 438]

  第二趟:265 301 751[129 937 863 742 694 076 438]

  第三趟:129 265 301 751[937 863 742 694 076 438]

  第四趟:129 265 301 751 937[863 742 694 076 438]

  第五趟:129 265 301 751 863 937[742 694 076 438]

  第六趟:129 265 301 742 751 863 937[694 076 438]

  第七趟:129 265 301 694 742 751 863 937[076 438]

  第八趟:076 129 265 301 694 742 751 863 937[438]

  第九趟:076 129 265 301 438 694 742 751 863 937

 ?。?)希爾排序(增量為5,3,1)

  初始態(tài): 265 301 751 129 937 863 742 694 076 438

  第一趟:265 301 694 076 438 863 742 751 129 937

  第二趟:076 301 129 265 438 694 742 751 863 937

  第三趟:076 129 265 301 438 694 742 751 863 937

 ?。?)冒泡排序(方括號為無序區(qū))

  初始態(tài) [265 301 751 129 937 863 742 694 076 438]

  第一趟: 076 [265 301 751 129 937 863 742 694 438]

  第二趟: 076 129 [265 301 751 438 937 863 742 694]

  第三趟: 076 129 265 [301 438 694 751 937 863 742]

  第四趟: 076 129 265 301 [438 694 742 751 937 863]

  第五趟: 076 129 265 301 438 [694 742 751 863 937]

  第六趟: 076 129 265 301 438 694 742 751 863 937

  (4)快速排序:(方括號表示無序區(qū),層表示對應(yīng)的遞歸樹的層數(shù))

  初始態(tài): [265 301 751 129 937 863 742 694 076 438]

  第二層: [076 129] 265 [751 937 863 742 694 301 438]

  第三層: 076 [129] 265 [438 301 694 742] 751 [863 937]

  第四層: 076 129 265 [301] 438 [694 742] 751 863 [937]

  第五層: 076 129 265 301 438 694 [742] 751 863 937

  第六層: 076 129 265 301 438 694 742 751 863 937

  (5)直接選擇排序:(方括號為無序區(qū))

  初始態(tài)  [265 301 751 129 937 863 742 694 076 438]

  第一趟: 076 [301 751 129 937 863 742 694 265 438]

  第二趟: 076 129 [751 301 937 863 742 694 265 438]

  第三趟: 076 129 265[ 301 937 863 742 694 751 438]

  第四趟: 076 129 265 301 [937 863 742 694 751 438]

  第五趟: 076 129 265 301 438 [863 742 694 751 937]

  第六趟: 076 129 265 301 438 694 [742 751 863 937]

  第七趟: 076 129 265 301 438 694 742 [751 863 937]

  第八趟: 076 129 265 301 438 694 742 751 [937 863]

  第九趟: 076 129 265 301 438 694 742 751 863 937

 ?。?)堆排序:(通過畫二*樹可以一步步得出排序結(jié)果)

  初始態(tài)    [265 301 751 129 937 863 742 694 076 438]

  建立初始堆: [937 694 863 265 438 751 742 129 075 301]

  第一次排序重建堆:[863 694 751 765 438 301 742 129 075] 937

  第二次排序重建堆:[751 694 742 265 438 301 075 129] 863 937

  第三次排序重建堆:[742 694 301 265 438 129 075] 751 863 937

  第四次排序重建堆:[694 438 301 265 075 129] 742 751 863 937

  第五次排序重建堆:[438 265 301 129 075] 694 742 751 863 937

  第六次排序重建堆:[301 265 075 129] 438 694 742 751 863 937

  第七次排序重建堆:[265 129 075] 301 438 694 742 751 863 937

  第八次排序重建堆:[129 075]265 301 438 694 742 751 863 937

  第九次排序重建堆:075 129 265 301 438 694 742 751 863 937

  (7)歸并排序(為了表示方便,采用自底向上的歸并,方括號為有序區(qū))

  初始態(tài):[265] [301] [751] [129] [937] [863] [742] [694] [076] [438]

  第一趟:[265 301] [129 751] [863 937] [694 742] [076 438]

  第二趟:[129 265 301 751] [694 742 863 937] [076 438]

  第三趟:[129 265 301 694 742 751 863 937] [076 438]

  第四趟:[076 129 265 301 438 694 742 751 863 937]

 ?。?)基數(shù)排序(方括號內(nèi)表示一個箱子共有10個箱子,箱號從0到9)

  初始態(tài):265 301 751 129 937 863 742 694 076 438

  第一趟:[] [301 751] [742] [863] [694] [265] [076] [937] [438] [129]

  第二趟:[301] [] [129] [937 438] [742] [751] [863 265] [076] [] [694]

  第三趟:[075] [129] [265] [301] [438] [] [694] [742 751] [863] [937]

  在上面的排序方法中,直接插入排序、冒泡排序、歸并排序和基數(shù)排序是穩(wěn)定的,其他排序算法均是不穩(wěn)定的,現(xiàn)舉實例如下:以帶*號的表示區(qū)別。

  希爾排序:[8,1,10,5,6,*8]

  快速排序:[2,*2,1]

  直接選擇排序:[2,*2,1]

  堆排序:[2,*2,1]