八大排序算法之希爾排序算法(遞減增量排序算法)

前言

希爾排序算法也叫做遞減增量排序算法,是插入排序算法的一種更高效的改進版本,但是這是一種不穩定的排序算法。插入排序算法是對所有數據進行依次插入排序,而希爾排序是把這些數據分塊來進行處理,對其中的每一塊都進行插入排序,在好的情況下希爾排序能達到線性的效率,但是差的情況下和直接插入排序的效率是一樣的。那麼怎麼對這些數據進行分塊處理呢?希爾排序的每次分塊都是取原數組長度的一半來進行分塊的,直到最後分塊的長度爲1的時候,也就是最後一次循環操作的時候,就是和普通的直接插入排序是一樣的操作了。

歷史

希爾排序按其設計者希爾(Donald Shell)的名字命名,該算法由1959年公佈。一些老版本教科書和參考手冊把該算法命名爲Shell-Metzner,即包含Marlene Metzner Norton的名字,但是根據Metzner本人的說法,“我沒有爲這種算法做任何事,我的名字不應該出現在算法的名字中。”來自維基百科

—未完----

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