阿里云文档 2025-02-21

FileInfo数据结构有哪些参数

名称类型描述示例值object文件信息typestring文件类型枚举值:gc_log:GC_LOG。thread_dump:THREAD_DMP。heap_dump:HEAP_DUMP。HEAP_DUMPsizelong文件大小,单位 byte254799093creationTimelong创建...

文章 2024-10-08 来自:开发者社区

【初阶数据结构】理解堆的特性与应用:深入探索完全二叉树的独特魅力

一、二叉树的顺序结构 普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段 ...

【初阶数据结构】理解堆的特性与应用:深入探索完全二叉树的独特魅力
文章 2024-09-17 来自:开发者社区

【数据结构】优先级队列(堆)从实现到应用详解

1. 优先级队列的概念 在之前已经了解过,队列是一种先进先出的数据结构,而优先级队列是一种抽象数据类型,其中每个元素都有一个优先级。与标准的队列不同,优先级队列中元素的顺序是根据其优先级来决定的,而不是按插入的顺序,优先级高的元素将优先出队。 JDK1.8中的PriorityQueue底层使用了堆这种数据结构,而堆实际就是在完全二叉树的基础上进行了一些调整。 2. 堆的介...

【数据结构】优先级队列(堆)从实现到应用详解
文章 2024-08-19 来自:开发者社区

【初阶数据结构篇】堆的应用(堆排序与Top-K问题)

堆的应用 前言 堆的实现 堆的实现方法 本篇仍然是建小堆来示范 代码位置 gitee 堆的特性决定了它的应用,我们可以用堆来对数据进行排序,即堆排序。 既然涉及到排序,我们需要关注的主要一点就是它的时间复杂度,所以我们先计算建堆需要的两种算法的...

【初阶数据结构篇】堆的应用(堆排序与Top-K问题)
文章 2024-06-25 来自:开发者社区

【数据结构和算法】---二叉树(2)--堆的实现和应用

一、堆的概念及结构 如果有一个数字集合,并把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,且在逻辑结构(即二叉树)中,如果每个父亲节点都大于它的孩子节点那么此堆可以称为大堆;那么如果每个父亲节点都小于它的孩子节点那么此堆可以称为小堆。 堆的性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 ...

【数据结构和算法】---二叉树(2)--堆的实现和应用
文章 2024-04-09 来自:开发者社区

初阶数据结构之---堆的应用(堆排序和topk问题)

引言 上篇博客讲到了堆是什么,以及堆的基本创建和实现,这次我们再来对堆这个数据结构更进一步的深入,将讲到的内容包括:向下调整建堆,建堆的复杂度计算,堆排序和topk问题。话不多说,开启我们今天的内容吧。 堆排序 在讲堆排序之前,我想讲讲建堆的问题。在上篇博客中,我们建堆的时候是存在一个数组(数组中存储着我们建堆所需要的元素),通过一个个取出数组中的元素并插入新的堆中达到建...

初阶数据结构之---堆的应用(堆排序和topk问题)
文章 2024-03-26 来自:开发者社区

数据结构第十二弹---堆的应用

1、堆排序 要学习堆排序,首先要学习堆的向下调整算法,因为要用堆排序,你首先得建堆,而建堆需要执行多次堆的向下调整算法。 但是,使用向下调整算法需要满足一个前提: 若想将其调整为小堆,那么根结点的左右子树必须都为小堆。 若想将其调整为大堆,那么根结点的左右子树必须都为大堆。   ...

数据结构第十二弹---堆的应用
文章 2024-03-11 来自:开发者社区

数据结构——堆的应用 Topk问题

解题思路 正常思路 将这N个数建成一个大堆,然后Popk次,就可以找出最大的前k个 ; 但是如果N非常大以亿计(10亿个整数所占空间大概4G)那么就会非常耗时耗力,难以计算。 这里给出一种更好的解决办法: ①将前k个数建成小堆;(必须是小堆哦~) ②后面N-k个数依次比较,如果比堆顶的数据大,就替换它进堆; ...

数据结构——堆的应用 Topk问题
文章 2024-03-11 来自:开发者社区

数据结构——堆的应用 堆排序详解

在土土的上篇博客二叉树堆的介绍与实现中,我们发现测试代码是升序;今天我们就来分析堆的重要应用——**堆排序**。升序实现如下: #include"Heap.h" int main() { Heap hp; HeapInit(&hp); int a[] = { 65,...

数据结构——堆的应用 堆排序详解
文章 2023-11-25 来自:开发者社区

数据结构-堆的实现及应用(堆排序和TOP-K问题)(下)

五.建堆上面的代码可以让我们从无到有建立堆但是如果我们要把一个数组改造成堆,而且不能浪费其他空间,只能在原数组上改造,那该怎么办呢?这里我们需要建堆这里以建小堆为例1.自顶向下的建堆方式(利用向上调整算法)根据上文可知进行向上调整算法后,数组中[0,child]区间就变为小堆了,所以我们可以用一个for循环来扩展这个区间让这个区间从[0,1]一直扩到[0,n-1]于是我们可以写出如下代码for ....

数据结构-堆的实现及应用(堆排序和TOP-K问题)(下)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注