如果大家对排序算法有了解的话,那么上手这个这块儿内容就不是很难,为什么要这么说呢?这算是排序的升级版,升级的主要内容,就是比前者更加稳定,因此,有不少人说希尔也叫稳定排序算法,但是它本身也是有自身独特魅力的,比如效率高,就是其他算法不可比拟的,在语言上尤其讲效率,那么大家来上手学习下吧。
开篇已经说了,跟插入算法有点类似,因此它的算法步骤如下:
1、有序列对趟排序
2、每一个序列化用表,表的长度等于序列长度
相关代码演示:
defshellSort(arr): importmath gap=1 while(gap<len(arr)/3): gap=gap*3+1 whilegap>0: foriinrange(gap,len(arr)): temp=arr[i] j=i-gap whilej>=0andarr[j]>temp: arr[j+gap]=arr[j] j-=gap arr[j+gap]=temp gap=math.floor(gap/3) returnarr }
大家都看懂了吗?因为插入算法很好理解,所以希尔算法的内容并不难,大家在学习的时候,完全可以当成是插入算法进行带入学习,还是非常好理解的哦~更多学习内容,尽在python学习网。