自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 【剑指offer】之最小的K个数-C++

题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。题解利用最大堆(时间复杂度nlogk)来解决,维护一个包含4个元素的最大堆,首先取待处理数组的前k个元素构成最大堆,然后遍历数组的剩余元素,若当前元素比最大堆的堆顶(最大的元素)小,则将当前元素与最大堆的堆顶互换,再重新生成新的最大堆。遍历完所有元素后所得的最大...

2019-10-10 20:21:04 95

原创 【排序算法】之堆排序-C++

原理堆排序是借助数据结构–堆中的最大堆实现的。首先,将待排序序列抽象为二叉树,并构造出最大堆,然后依次将根节点元素(最大元素)与待排序序列的最后一个元素交换,每次交换后刷新最后一个元素的位置(自减1),直至其与首元素相交,即完成排序。代码不用algorithm库中已有的堆处理算法#include<vector>using namespace std;void downT...

2019-10-10 17:48:02 83

原创 【排序算法】之基数排序-C++

原理基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。代码版本1//取出数组中的最大值int getMaxValue(const vector<int> &arr){ int max = IN...

2019-10-09 16:41:08 269

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除