http://i.imgur.com/WdeKDSx.jpg
因為我寫不出遞迴式,所以用iterative分析:
1 因為merge的過程中只要其中一個run為空就會馬上return 所以不管是n/k跟n/k做merge
或是3n/k與n/k做merge應該都是花O(n/k)的時間
2 因為他是依序往後merge所以總共會執行k回合
這樣分析下來應該是k*n/k也就是O(n)吧?
為什麼答案是給n*k?話說題目說的following algorithm是...?(104交大資演)
如果每次merge都要做最大run原是個數的時間才有機會被bound在n*k吧?