网站建设总结建设官方网站

迈巴克汽车用品(江苏)有限公司 2026/09/09 19:39:42

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、堆排序定义
  • 二、时间复杂度
  • 三、实现思路
    • a.注意(升/降)
  • 四、topk问题

前言

常见的基本排序算法有冒泡、选择、插入,但效率太低。
堆排序和快速排序算法则是相对高效的算法。这篇主要先介绍堆排序


一、堆排序定义

堆排序就是借助(大/小)堆的特性,实现的快速排序

二、时间复杂度

时间复杂度:N * log2
本质就是建堆后,借助堆来调整N个数的位置,每次调整时间为堆高度log2

三、实现思路

(以小堆为例)

  1. 先将数据建小堆,此时堆顶是最小值。
  2. 将堆顶元素与数组末尾的元素交换,此时最小值被放到数组末尾。
  3. 将堆的有效长度-1,末尾元素视为已排序,不参与后续调整。
  4. 对堆顶的元素进行向下调整,使其重新满足小堆的特性
  5. 重复上述过程,直到堆的有效长度为1
//实现堆排序————时间复杂度:N * logN (一次向下调整是N, 执行N次)voidHeapSort(int*a,intn){//1、建堆for(inti=(n-1-1)/2;i>=0;i--)//需要从最后一个节点的父亲节点,开始向下调整{AdjustDown(a,n,i);}//2、将排序好的最小值,排出堆排序的范围intend=n-1;//3、再一直对根节点实现向下调整while(end>0){swap(&a[0],&a[end]);//再次选择最小的值AdjustDown(a,end,0);end--;}}

至此,实现了数组的降序排列

a.注意(升/降)

排升序,建大堆
排降序,建小堆

因为每次堆顶会和数组末尾的元素交换


四、topk问题

N个数中找出最大或最小的前K个数?

最优方案:建立一个K的数的堆。
如果想找K个最大数就建小堆,想找K个最小数就建大堆
(以小堆为例)

遍历N-K个数,凡是比堆顶大的数就替换堆顶数据,进堆向下调整。
(因为堆顶的数总是较小的)最后剩下的k个数就是前K个最大的数。

前K个最小的数同理可得。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

桂林网站建设青岛网站建设公司

每当为大家提供丰富选择的每年购物季时段来临之际,高端手机市场无一例外地都会出现新品发布会密集举行以及价格作出调整的情况。众多旗舰机型之中可以发现存在两个备受关注的技术方向,

2026/06/30 13:21:05

成都网站建设台州网站建设

物理信息神经网络必读论文指南:从入门到精通【免费下载链接】PINNpapersMust-read Papers on Physics-Informed Neural Networks.项

2026/06/30 12:22:00

英文网站建设青岛网站建设哪家好

LAY-EXCEL:让Excel数据导出变得如此简单【免费下载链接】layui-excel简单快捷的导出插件,导出仅需一句话项目地址: https://gitcode.co

2026/06/30 12:42:32

濮阳网站建设泉州网站建设

VideoSrt:AI字幕生成的终极解决方案【免费下载链接】video-srt-windows这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。项目

2026/06/30 13:34:06

商务网站建设闵行网站建设

任天堂手柄Windows适配全攻略:从入门到精通【免费下载链接】WiinUPro项目地址: https://gitcode.com/gh_mirrors/wi/WiinUPro还在为心爱

2026/06/30 13:38:36

龙岗网站建设寿光网站建设

目录已开发项目效果实现截图关于博主开发技术介绍核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货

2026/06/30 10:52:52

深圳营销型网站建设郑州网站建设公司

从“哑设备”到智能终端:工业4.0时代蜂鸣器电路的进化之路在智能制造的宏大叙事中,人们常常聚焦于机器人、数字孪生、AI质检等高光技术。然而,在产线轰鸣的背后&

2026/06/30 10:51:22

网站建设计划书装饰网站建设

转行数据安全让我技术信仰塌了,不知道重塑了多少次从电子工程出发,走向软件开发,最终投身数据安全。我始终相信,技术应该服务于真实的需求࿰

2026/06/30 12:09:59

建设网站制作中山网站建设

CUDA流并行优化:解锁PyTorch训练吞吐性能的关键路径在深度学习模型日益庞大的今天,一个典型的训练任务可能涉及数十亿参数、TB级数据和数百小时的GPU运行时间。面对如

2026/06/30 11:55:28