- 博客(5)
- 收藏
- 关注
原创 排序算法之快速排序的优化
对 10000 个完全倒序的数进行排序并计一下时,可以发现快速排序是非常慢的!因为此时快速排序已经退化成了冒泡排序!同时如果输入的数组中的数据完全相同,那么普通的快速排序会产生不必要的划分和递归,既浪费时间又浪费空间
2021-03-03 17:03:13 2420 7
原创 排序算法之快速排序quickSort
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一次排序将数据分割成两部分,其中一部分的数据都比另外一部分的数据都要小,然后在对这两部分进行相同操作> 基本流程1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。
2021-01-09 21:29:17 237 1
原创 排序算法之堆排序heapSort
堆排序是利用堆这种数据结构所设计的一种排序算法。我们以升序为例:首先我们需要把给定的数组构建成大顶堆,这样数组中最大的数就是大顶堆的根节点,然后将根节点与堆中最后的元素交换,这样最大的数就到了数组的最后去了,随后我们把数组最后的元素除开,对剩下的元素重新构建大顶堆,构建完毕之后再把堆的最后一个元素与堆的根节点进行交换,这样第二大的元素就放到了倒数第二个位置上,以此类推,直到堆的大小为1时,堆排序就完成了,动图如下:
2021-01-02 20:54:44 315 2
原创 python实现小顶堆MinHeap和哈夫曼树HaffumanTree
python实现小顶堆MinHeap和哈夫曼树HaffumanTree
2021-01-01 00:04:14 1518 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人