- 博客(3)
- 收藏
- 关注
原创 最大堆排序 C++
堆排序是一种复杂度为O(nlog(n))的一种高效的排序,这里将展示最大堆的排序算法。堆排序是将数组抽象化成为一个完全二叉树。这里对:A[10]={10,5,13,2,8,12,3,9,7,1}抽象的二叉树结构如下:1、下面三个节点是得到左子节点,右子节点,和父节点。int left(int i) //返回左儿子{ return 2 * i+1;}int right(int i) //...
2018-04-19 11:09:09 1030
原创 快速排序(quick sort) C++
快速排序是个递归的过程,采取分而治之的思想。直接举例:有10个数:1,3,7,9,5,8,10,2,4,6;第一步:取最后一个数 6 为节点:第二步:将小于6的放到左边,大于6的放到右边,结果:1,2,5,2,4,8,10,9,7,6(6为节点)第三步:将6和8进行交换,结果:1,2,5,2,4,6,10,9,7,8(6为节点),小于6的在左边,大于6的在右边,整个过程的算法的复杂...
2018-04-15 14:23:33 803
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人