筆記頁面:資料結構與演算法
INSERTION-SORT(A,n) 1for i = 2 to n 2 key= A [i] 3 // Insert A[i] into the sorted subarray A[1:i-1] 4 j = i - 1 5 while j > 0 and A[j] > key 6 A[j + 1] = A[j] 7 j = j - 1 8 A[j + 1] = key
line | cost | times |
---|---|---|
1 | ||
2 | ||
3 | ||
4 | ||
5 | ||
6 | ||
7 | ||
8 |
the best case occurs when the array is already sorted
line 5-7 will never be executed
最佳情況所消耗之時間為線性增長的
最糟情況是每一次的排序,都要把要插入的值移到第一個位置。也就是說 5-7 行都會跑滿,使得。因此我們可以將 Summation 的式子化簡:
在將化簡後的式子帶入原式:
最糟情況所消耗之時間為指數增長的