English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

各位大大誰會資料結構的排序法,麻煩幫我解題?
請依據以下串列算出插入排序法、選擇排序法、氣泡排序法、快速排序法執行的比較次數及過程?如果沒辦法寫那麼多的話,可否麻煩在你自己的知識個人資料裡,留下即時通,方便線上問你。
23、8、7、56、124、46、9、211、78、53、81、234、67、121

2007-11-14 11:41:18 · 4 個解答 · 發問者 KIMCAL 1 in 電腦與網際網路 程式設計

不要在回答問題的地方留資料,不然我的問題會被奇摩刪掉,在你的知識家個人資料裡留,我自己去查。

2007-11-14 11:44:04 · update #1

還是不夠清楚可否在你的知識家的個人資料留一下資料。

2007-11-19 13:25:26 · update #2

4 個解答

要被排序的資料 23,8,7,56,124,46,9,211,78,53,81,234,67,121
一.選擇排序法
將要排序的對象分作兩部份,一個是已排序的,一個是未排序的,從後端未排序部份選擇一個最小值,並放入前端已排序部份
的最後一個:
1. [7], 23,8,56,124,46,9,211,78,53,81,234,67,121 選出最小值 7, 共比較13次
2. [7,8], 23,56,124,46,9,211,78,53,81,234,67,121 選出最小值 8, 共比較12次
3. [7,8,9], 23,56,124,46,211,78,53,81,234,67,121 選出最小值 9, 共比較11次
4. [7,8,9,23],56,124,46,211,78,53,81,234,67,121 選出最小值 23, 共比較10次
.....
13. [7,8,9,23,46,53,56,67,78,81,121,124,211,234] 選出最小值 234, 共比較1次
選擇排序法共比較(1+13)*13/2=91次

二. 插入排序法
我們將資料分作兩堆,每次從後面一堆的資料抽出第一個資料,然後插入前面一堆資料中的適當位置:
1. [8,23],7,56,124,46,9,211,78,53,81,234,67,121 將8插入23前,共比較1次
2. [7,8,23],56,124,46,9,211,78,53,81,234,67,121 將7插入8前,共比較1次
3. [7,8,23,56],124,46,9,211,78,53,81,234,67,121 將56插入23後,共比較3次
4. [7,8,23,56,124],46,9,211,78,53,81,234,67,121 將124插入56後,共比較4次
5. [7,8,23,46,56,124],9,211,78,53,81,234,67,121 將46插入56前,共比較4次
6. [7,8,9,23,46,56,124],211,78,53,81,234,67,121 將9插入23前,共比較3次
7. [7,8,9,23,46,56,124,211],78,53,81,234,67,121 將211插入124後,共比較7次
8. [7,8,9,23,46,56,78,124,211],53,81,234,67,121 將78插入124前,共比較7次
9. [7,8,9,23,46,53,56,78,124,211],81,234,67,121 將53插入56前,共比較6次
10. [7,8,9,23,46,53,56,78,81,124,211],234,67,121 將81插入124前,共比較9次
11. [7,8,9,23,46,53,56,78,81,124,211,234],67,121 將81插入211後,共比較11次
12. [7,8,9,23,46,53,56,67,78,81,124,211,234],121 將67插入78前,共比較8次
13. [7,8,9,23,46,53,56,67,78,81,121,124,211,234] 將121插入124前,共比較11次
插入排序法共比較1+1+3+4+4+3+7+7+6+9+11+8+11=75次

2007-11-14 18:08:59 補充:
三. 氣泡排序法
顧名思義,就是排序時,最小的元素會如同氣泡一樣移至左端,其利用比較相鄰元素的方法,將小的元素交換至左端,所以小的元素會不斷的往左移動,直到適當的位置為止。
1. [7],23,8,9,56,124,46,211,53,78,67,81,234,121 7浮出 共比較13次
2. [7,8],23,9,46,56,124,53,211,67,78,81,121,234 8浮出 共比較12次
3. [7,8,9],23,46,53,56,124,67,211,78,81,121,234 9浮出 共比較11次

2007-11-14 18:09:13 補充:
4. [7,8,9,23],46,53,56,67,124,78,211,81,121,234 23浮出 共比較10次
5. [7,8,9,23,46],53,56,67,78,124,81,211,121,234 46浮出 共比較9次
6. [7,8,9,23,46,53],56,67,78,81,124,121,211,234 53浮出 共比較8次

2007-11-14 18:09:17 補充:
7. [7,8,9,23,46,53,56],67,78,81,121,124,211,234 56浮出 共比較7次
8. [7,8,9,23,46,53,56,67,78,81,121,124,211,234] 共比較6次, 無須異動, 排序完畢
氣泡排序法共比較(13+7)*8/2=80次

2007-11-14 18:09:48 補充:
四. 快排
迴圈處理:
a. 令索引 i 從數列左方往右方找,直到找到大於 s 的數
b. 令索引 j 從數列右方往左方找,直到找到小於 s 的數
c. 如果 i >= j,則離開迴圈
d. 如果 i < j,則交換索引i與j兩處的值
e. 將左側的軸與 j 進行交換
f. 對軸左邊進行遞迴
g. 對軸右邊進行遞迴

2007-11-14 18:10:21 補充:
1. [23],8,7,56*,124,46,9*,211,78,53,81,234,67,121
-->[23],8,7,9*,124*,46,56,211,78,53,81,234,67,121
-->{9,8,7},[23],{124,46,56,211,78,53,81,234,67,121} 共比較13次

2007-11-14 18:10:42 補充:
2. {[9],8,7*},[23],{124,46,56,211,78,53,81,234,67,121}
-->7,8,[9],[23],{124,46,56,211,78,53,81,234,67,121} 共比較2次
3. [7],[8],[9],[23],{124,46,56,211,78,53,81,234,67,121} 共比較1次

2007-11-14 18:10:59 補充:
4. [7],[8],[9],[23],{[124],46,56,211*,78,53,81,234,67,121*}
-->[7],[8],[9],[23],{[124],46,56,121,78,53,81,234*,67*,211}
-->[7],[8],[9],[23],{[124],46,56,121,78,53,81,67*,234,211}
-->[7],[8],[9],[23],{67,46,56,121,78,53,81,[124],234,211}共比較9次

2007-11-14 18:11:14 補充:
5. [7],[8],[9],[23],{[67],46,56,121*,78,53*,81},[124],{234,211}
-->[7],[8],[9],[23],{[67],46,56,53*,78*,121,81},[124],{234,211}
-->[7],[8],[9],[23],{53,46,56},[67],{78,121,81},[124],{234,211}共比較6次

2007-11-14 18:11:30 補充:
6. [7],[8],[9],[23],{[53],46*,56*},[67],{78,121,81},[124],{234,211}
-->[7],[8],[9],[23],[46],[53],[56],[67],{78,121,81},[124],{234,211}共比較2次
7. [7],[8],[9],[23],[46],[53],[56],[67],{[78],121*,81},[124],{234,211} 沒有動, 共比較2次

2007-11-14 18:11:45 補充:
8. [7],[8],[9],[23],[46],[53],[56],[67],[78],{[121],81*},[124],{234,211}
-->[7],[8],[9],[23],[46],[53],[56],[67],[78],[81],[121],[124],{234,211} 共比較1次

2007-11-14 18:11:50 補充:
9. [7],[8],[9],[23],[46],[53],[56],[67],[78],[81],[121],[124],{[234],211*}
-->[7],[8],[9],[23],[46],[53],[56],[67],[78],[81],[121],[124],[211],[234] 共比較1次
快排共比較37次

2007-11-14 18:12:14 補充:
有字數限制真麻煩.....

2007-11-14 13:08:09 · answer #1 · answered by 藍色吸血鬼 3 · 0 0

到下面的網址看看吧

▶▶http://*****

2014-09-03 00:01:36 · answer #2 · answered by JFRPNSIKARGK 1 · 0 0

到下面的網址看看吧

▶▶http://*****

2014-07-28 02:52:19 · answer #3 · answered by Anonymous · 0 0

到下面的網址看看吧

▶▶http://candy5660601.pixnet.net/blog

2014-06-25 22:29:43 · answer #4 · answered by Anonymous · 0 0

fedest.com, questions and answers