精華區beta C_and_CPP 關於我們 聯絡資訊
※ 引述《nshnsh (...................)》之銘言: : 請問有人可以幫我找一個用C語言寫的shell sort的程式碼嗎 : 還需要此程式碼的程式圖..... : 請大家幫幫忙... : 任一個程式碼都可.只是要附流程圖 簡單講 shell sort是變化版的insertion sort 每次對某個間隔k, 排序第1,k+1,2k+1,...,(n-1)k+1個元素; 第2,k+2,2k+2,...,(n-1)k+2個元素; 第3,k+3,2k+3,...,(n-1)k+3個元素; ......... 第k,2k, 3k, ...,nk 個元素。 這樣稱為一個回合 回合之間用越來越小的k值當間隔 最直覺的間隔數是1, 2, 4, 8, ..., 2^i (當然是由大到小使用) 不過據說 間隔使用 1, 4, 13, ..., (3^i - 1)/2的值會好很多 時間複雜度據研究是O(n^1.5) 要程式碼的話可以找「名題精選百則 冼鏡光著」 這裡面有shell sort的範例 -- "LPH" is for "Let Program Heal us".... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.54