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