希爾排序的深入理解

希爾排序是進階版的插入排序,希爾排序分爲兩個主要方面:跨度排序、插入排序

1、跨度排序:

                       希爾排序選取特定的步長進行分領域排序,這樣可以保證經過一次比較,可以使數據移動較大的距離。

                       這個移動較大的距離,是希爾排序提高時間複雜度的關鍵。

2、插入排序:

                       隨着步長的減小,最終步長等於1。即最後一步就是一般的插入排序。

                       這裏補充一個知識點,當數據序列幾乎有序的情況下,插入排序可以達到線性排序的效率,即時間複雜度達到O(n)。

                       從這裏我們就可以看出前面跨度排序所做的工作是爲了什麼了。爲了使數據序列達到幾乎有序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章