![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 78
i96jie
这个作者很懒,什么都没留下…
展开
-
堆排序
算法整体思路: 1、将长度为n的数组构造成一个大顶堆。 2、将堆顶元素与尾节点交换,并将其输出,得到最大元素,放于数组尾部。 3、将剩余的n-1个节点重新构造为大顶堆。 4、重复2、3,直到数组排序完成。 堆排序的基本特征: 时间复杂度:O(nlogn) 空间复杂度:O(1) 堆的建立: 堆可以看成是一颗完全二叉树, 当每个节点都大于等于它的两个子节点时,就称为大顶...原创 2018-11-16 10:39:36 · 173 阅读 · 0 评论 -
快速排序的实现以及复杂度分析
步骤: 指定数组中的一个数作为基准元素,找到并将它放到排序完成后它所在的位置,也就是它前面的都比它小,后面的都比它大。 讲数组以它为界,分为两个子数组,重复上面的步骤,直到排序完成。 举个栗子: 这里用到的是填坑法。 在这里将制定的数定为数组中最后的一个数。 3 8 5 6 0 2 4 1 9 7 指定为7,并将...原创 2018-11-19 22:27:12 · 2871 阅读 · 0 评论