- 博客(2)
- 收藏
- 关注
原创 堆排序详解
由于二叉堆的这个特性,我们每一次删除旧堆顶,调整后的新堆顶都是大小仅次于旧堆顶的节点。那么我们只要反复删除堆顶,反复调节二叉堆,所得到的集合就成为了一个有序集合。当我们删除一个最大堆的堆顶(并不是完全删除,而是替换到最后面),经过自我调节,第二大的元素就会被交换上来,成为最大堆的新堆顶。2. 循环删除堆顶元素,移到集合尾部,调节堆产生新的堆顶。1. 把无序数组构建成二叉堆。...
2022-08-18 17:34:56
417
1
原创 顺序表希尔排序
算法实现:选定一个增量k,按照增量k作为数据分组的依据,对数据进行分组;可是怎样选取最好的增量,目前还是一个数学难题,还没有人找到一种最好的增量序列。随着增量的逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个序列恰好被分为一组,算法便终止。然后会继续以一定增量进行排序,最终算法以增量为1进行排序。用这样增量序列的希尔排序比插入排序要快,甚至在小数组中比快速排序和堆排序还快,但是在涉及大量数据时希尔排序还是比快速排序慢。增量的选择是希尔排序的重要部分,只要最终增量为1任何增量序列都可以工作。.....
2022-08-18 17:20:36
511
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅