這道題,已知一個數組a,a[i]排好序後位於a[i-k]跟a[i+k]之間,問說該怎麼最快地排序。html
能夠轉換成多路歸併問題,算法
a[0]<a[k+1]<a[2k+2]<a[3k+3]...數組
a[1]<a[k+2]<a[2k+3]<a[3k+4]...htm
...blog
a[k]<a[k+(k+1)]<a[2k+(k+2)]<a[3k+(k+3)]...排序
多路歸併後的算法複雜度是O(nlogk)。ci