Loading...
「ツール」は右上に移動しました。
利用したサーバー: natural-voltaic-titanium
5572いいね 157146回再生

Shell sort vs Insertion sort

Introduction of Shell sort, and a match with Insertion Sort.

For an introduction of Insertion sort, see:
   • Insertion Sort vs Bubble Sort + Some analysis  

Choosing the sequence 9-6-1:
For a list of size 10, the gaps can be any number 1,2,....,9, and the sequence must end with 1.
So each of the gaps 2,3,...,9 can be included in the sequence, or not included. So there's a total of 2^8=256 possible gap sequences. For each we checked the average number of comparisons for all possible 10! permutations.
Here are the 3 best sequences:
9-6-1: 25.512 comparisons
4-1: 25.516 comparisons
6-1: 25.539 comparisons

We could have also checked which has the highest probability of performing less comparisons than insertion sort. Here are the top 3 in this respect:
4-1: prob=0.72
9-4-1: prob=0.704
6-1: prob=0.701

Analyzing Shell sort variants more generally: See it explained in my home page:
www.udiprod.com/shell-sort/#analysis

Why did Shell sort lag behind in the second match in comparisons per second? You are welcome to post answers. Or read answer here:
www.udiprod.com/shell-sort/#timing

コメント