最大的k个数问题

简介:   代码来源:   http://blog.csdn.net/v_JULY_v   调整堆为小顶堆的代码片:基本思想就是把孩子节点中大的一个跟父节点交换 void HeapAdjust(int array[], int i, int Length){ int child, t...

 

代码来源:

 

http://blog.csdn.net/v_JULY_v

 

调整堆为小顶堆的代码片:基本思想就是把孩子节点中大的一个跟父节点交换

void HeapAdjust(int array[], int i, int Length)
{
	int child, temp;
	for (temp = array[i]; 2*i + 1 <Length; i = child)
	{
		 child = 2*i +1;
		 if (child < Length - 1 && array[child +1] < array[child])
		 {
 			 child++;
		 }

		 if (temp > array[child])
		 {
			 array[i] = array[child];
		 }
		 else
			 break;

		 array[child] = temp;
	}
}

 

 

一般来说,进行初始化建立堆的时候,需要对数组的一般进行调整,调用代码:

 

只需要用一般的数进行调整,就能保证小顶堆的建立。

for (int i = Length/2 - 1;i >= 0; --i)
	{//初试建堆,时间复杂度为o(n)
		HeapAdjust(array,i,Length);
	}


 

下面是交互两个数的代码片:使用三次异或操作:

void Swap(int *a, int *b)
{
	//异或预算用来交互两个数
	*a = *a^*b;
	*b = *a^*b;
	*a = *a^*b;
}


 

相关文章
|
8月前
|
弹性计算 固态存储 大数据
阿里云服务器租用费用价格表:2025最新轻量+ECS+GPU优惠1年、1个月和1小时报价单
阿里云服务器租用费用价格表涵盖2025年最新轻量应用服务器、ECS云服务器及GPU服务器优惠报价。轻量应用服务器2核2G配置,一年仅68元(秒杀38元),适合个人开发者;ECS云服务器提供多种规格,如2核2G经济型99元/年、2核4G企业专享199元/年。高性能实例如4核16G游戏服务器70元/月,8核32G为160元/月。GPU服务器方面,T4计算卡4核15G配置低至1878.4元/月。此外,阿里云支持按小时计费,灵活满足不同需求。续费优惠政策明确,长周期享更高折扣,具体以官方页面为准。
Cadence仿真出现Cannot Initialize Profile错误的解决方法和步骤
元器件和器件PSpice模型都准备好了,仿真原理图也画好了,但是在新建仿真配置文件的时候,提示Cannot Initialize Profile的错误。当时忘了截图了,问题解决了也没有出现这个错误。重启软件、重启电脑都没有再出现。
986 0
|
消息中间件 存储 缓存
十万订单每秒热点数据架构优化实践深度解析
【11月更文挑战第20天】随着互联网技术的飞速发展,电子商务平台在高峰时段需要处理海量订单,这对系统的性能、稳定性和扩展性提出了极高的要求。尤其是在“双十一”、“618”等大型促销活动中,每秒需要处理数万甚至数十万笔订单,这对系统的热点数据处理能力构成了严峻挑战。本文将深入探讨如何优化架构以应对每秒十万订单级别的热点数据处理,从历史背景、功能点、业务场景、底层原理以及使用Java模拟示例等多个维度进行剖析。
366 8
|
传感器 物联网 定位技术
物联网卡:物联网卡不能使用,几招帮您解决!
物联网卡(IoT SIM卡)是为物联网设备(如智能家居设备、智能城市传感器、车载终端等)提供网络连接的重要组件。然而,在使用过程中,用户可能会遇到物联网卡无法使用的情况。以下是一些物联网卡不能使用的常见原因及其解决方法:
|
安全 搜索推荐 数据安全/隐私保护
点晴免费OA办公系统:高效协同,安全易用
信息技术发展推动企业信息化,即企业利用现代技术提升生产、经营、管理效率,增强竞争力。点晴免费OA系统作为信息化管理的基础,是实现企业信息化的关键手段。
245 2
|
缓存 NoSQL Java
java电商项目(十二)
本文接续前几个文章的项目进行讲解
202 1
|
算法 安全 量子技术
量子计算与金融风险管理:提升市场预测能力
【10月更文挑战第8天】量子计算作为一种前沿技术,正在逐步改变金融风险管理的格局。通过利用其独特的计算能力和优化算法,量子计算可以显著提高市场预测的准确性和及时性,为金融机构提供更精准的风险管理工具。尽管目前仍面临一些挑战和限制,但随着技术的不断进步和完善,相信量子计算将在未来的金融风险管理领域发挥更加重要的作用。
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品广告投放优化的深度学习模型
使用Python实现智能食品广告投放优化的深度学习模型
355 0
|
缓存 监控 测试技术
罗辑思维在全链路压测方面的实践和工作笔记
业务的知名度越高,其背后技术团队承受的压力就越大。一旦出现技术问题,就有可能被放大,尤其是当服务的是对知识获取体验要求颇高的用户群体。 提供知识服务的罗辑思维主张“省时间的获取知识”,那么其技术团队在技术实践方面是如何践行省时间的理念的呢?本文将还原罗辑思维技术团队在全链路压测上的构建过程,为您一探究竟。
7037 80
|
Python Windows
在 windows系统中安装 Pygame 详细过程
在 windows系统中安装 Pygame 详细过程
602 0
在 windows系统中安装 Pygame 详细过程