排序算法(二)希尔排序+归并排序+快速排序+堆排序–O(nlogn)的排序
文章目录希尔排序归并排序快速排序(20世纪对世界影响最大的算法之一)牛掰!堆排序 希尔排序 排序思想:希尔排序可以说是插入排序的一种变种。无论是插入排序还是冒泡排序,如果数组的最大值刚好是在第一位,要将它挪到正确的位置就需要 n – 1 次移动。当原数组的一个元素如果距离它正确的位置很远的话,需要与相邻元素交换多次才能到达正确的位置,这样效率较低。希尔排序就是插入排序排序的一种简单改进,交换不相邻的元素以对数组的局部进行排序,以此来提升效率。 排序过程: 先让数组中任意间隔为 h 的元素有序,刚开始 h 的大小可以是 h = n / 2 接着让 h = n / 4,让 h 一直缩小,相当于不断
用户评论