[理工] [資結] 102交大資演 第9題

看板Grad-ProbAsk作者 (辛拉麵)時間11年前 (2015/01/28 13:19), 11年前編輯推噓7(706)
留言13則, 5人參與, 最新討論串1/1
題目如下: http://i.imgur.com/gfkrFsm.png
http://i.imgur.com/X33UFng.png
一開始看以為是quicksort 但是下去追蹤後完全不是這一回事 整個都沒排序到的感覺Orz 我自己做的部分: (這部分是錯的,因為沒注意到第二個else if沒i++的結果) 第一次partiton,pivot是4,結束後 1 0 0 1 4 2 3 1 0 2 ↑ ↑ low(值為-1) high(指向data[5]) 補充正解(感謝galapous大提醒盲點) 第一次 parition 後:4 1 3 2 0 1 0 0 1 2 low=-1 high=1 第二次:       3 2 2 1 1 1 0 0 0 low=1 high=6 第三次:       3 2        low=0 high=2 第四次:             0 0 0 low=-1 high=3  final content : 4 3 2 2 1 1 1 0 0 0 (Ans(1)) partition invoked: 4次 (Ans(2)) 這個是由大排到小的quick sort: 最差時間複雜度 size^2 (Ans(3)) 附上昨天怒打的驗證XD http://goo.gl/ePgIJ0 給大家參考囉,如果有問題可以再討論 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.7.202 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1422422380.A.AEC.html

01/28 13:26, , 1F
pivot取中間值後就開始sort,
01/28 13:26, 1F

01/28 13:27, , 2F
比較好奇是(3)是否也是同樣Quick的Worst Case
01/28 13:27, 2F

01/28 14:29, , 3F
是quick sort吧,細節有點不同但原理一樣,會覺得怪應
01/28 14:29, 3F

01/28 14:29, , 4F
該是因為第一次選到的是worst case
01/28 14:29, 4F

01/28 14:36, , 5F
第一次做完4應該在第一個哦,注意他for loop中有個case
01/28 14:36, 5F

01/28 14:36, , 6F
i不會變
01/28 14:36, 6F

01/28 15:03, , 7F
喔喔感謝G大! 整個突破盲點! 我完全沒發現第二個if沒有++i
01/28 15:03, 7F

01/28 15:04, , 8F
這樣就是標準的quick sort沒錯,感恩~
01/28 15:04, 8F

01/28 21:04, , 9F
還是看不懂QQ"有人大大會詳細的做法嗎~~
01/28 21:04, 9F

01/28 22:16, , 10F
trace code你會發現他把比pivot大的擺在pivot左邊小的放
01/28 22:16, 10F

01/28 22:16, , 11F
右邊
01/28 22:16, 11F

01/29 02:08, , 12F
想問大家 這題第二題寫多少...
01/29 02:08, 12F

01/29 09:30, , 13F
5
01/29 09:30, 13F
※ 編輯: kurc (1.164.7.202), 01/29/2015 21:32:34
文章代碼(AID): #1Ko75ihi (Grad-ProbAsk)