技术栈
堆
长安er
5 天前
java
·
数据结构
·
算法
·
leetcode
·
堆
LeetCode215/347/295 堆相关理论与题目
目录一、相关理论方法详解1.1 堆(Heap)的核心概念1.2 堆的数组表示1.3 堆的核心操作(1) 上浮(Sift Up / Bubble Up)
笨手笨脚の
5 天前
java
·
jvm
·
堆
·
虚拟机栈
·
方法区
深入理解 Java 虚拟机-01 JVM 内存模型
Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范》的规定,Java 虚拟机所管理的内存将会包括以下几个运行时数据区域:
罗湖老棍子
13 天前
数据结构
·
c++
·
算法
·
树
·
优先队列
·
堆
最小函数值(minval)(信息学奥赛一本通- P1370)
有n个函数,分别为F1,F2,...,Fn。定义Fi(x)=Aix2+Bix+Ci(x∈N∗)。给定这些Ai、Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个)。
月明长歌
14 天前
java
·
数据结构
·
python
·
leetcode
·
堆
Java数据结构:PriorityQueue堆与优先级队列:从概念到手写大根堆
写算法写到后面,会越来越频繁地遇到一种需求:我不想按进入顺序取数据(FIFO),我想按“重要程度/大小”取。比如任务调度、Dijkstra、Top-K、定时器、甚至游戏里“高优先级事件先处理”。这时候普通队列就不够用了,需要的是优先级队列(Priority Queue):支持“加入元素”和“取出最高优先级元素”。
EXtreme35
21 天前
c语言
·
数据结构
·
堆
·
时间复杂度
·
topk问题
·
算法分析
【数据结构】建堆操作:向上调整与向下调整的数学推导与性能对比
🏠 个人主页: EXtreme35📚 个人专栏:堆(Heap)是一种特殊的完全二叉树数据结构,通常用于实现优先队列。堆的性质要求:在大顶堆中,任意节点的值都大于或等于其子节点的值;在小顶堆中,任意节点的值都小于或等于其子节点的值。堆排序(Heap Sort)是基于堆这种数据结构的一种高效排序算法,其核心操作在于元素的向上调整(AdjustUp)和向下调整(AdjustDown),这两种操作对于维护堆的性质至关重要。
EXtreme35
23 天前
c语言
·
数据结构
·
算法
·
堆
·
heap
·
完全二叉树
·
topk
【数据结构】打破线性思维:树形结构与堆在C语言中的完美实现方案
🏠 个人主页: EXtreme35📚 个人专栏:前言:在计算机科学的浩瀚海洋中,数据结构是承载算法的基石。我们熟悉的数组和链表是线性的,它们简单直观,但在面对复杂的层级关系或特定的动态排序需求时,往往显得力不从心。本教程将带你从线性的世界迈入非线性的树(Tree)的世界,并最终聚焦于一种特殊的完全二叉树——堆(Heap)。
Hello_Embed
2 个月前
数据结构
·
笔记
·
学习
·
链表
·
freertos
·
堆
FreeRTOS 入门(四):堆的核心原理
大家好,我是 Hello_Embed。上一篇我们吃透了 ARM 架构的底层逻辑,搞懂了寄存器和栈如何支撑函数调用 —— 而这一篇,我们将聚焦 FreeRTOS 内存管理的 “半壁江山”——堆(Heap)。
少许极端
2 个月前
数据结构
·
算法
·
leetcode
·
优先级队列
·
堆
·
图解算法
算法奇妙屋(十二)-优先级队列(堆)
这道题的算法原理十分简单, 直接建立大根堆即可, 这里简单梳理下题目意思简单易懂, 这里不过多赘述, 直接看图即可
ShineWinsu
2 个月前
c语言
·
数据结构
·
c++
·
算法
·
面试
·
二叉树
·
堆
对于数据结构:堆的超详细保姆级解析——下(堆排序以及TOP-K问题)
hello 大家,我们又见面了,在上一篇博客中,我们共同探索了如何实现堆这么一个数据结构,相信大家经过上篇博客的学习,对堆的了解程度以及掌握程度,都有了极大的水平提升。
ShineWinsu
2 个月前
数据结构
·
c++
·
算法
·
计算机
·
二叉树
·
顺序表
·
堆
对于数据结构:堆的超详细保姆级解析—上
hello 各位,咱们又见面啦~相信大家看到 “堆” 这个标题,再联想到上一篇咱们刚 “啃完” 的二叉树,心里多少会有点小嘀咕:二叉树都学得晕头转向了,堆又是什么 “厉害角色”?别慌,先给大家吃颗定心丸 —— 堆其实和二叉树关系紧密,它是完全二叉树的一种经典应用,掌握了二叉树的基础,再学堆,会顺畅很多~
徐子童
2 个月前
java
·
数据结构
·
面试题
·
优先级队列
·
堆
·
topk问题
数据结构---优先级队列(堆)
通过前面的学习,知道了队列是一种先进先出的一种数据结构,但是在一些情况下,在出队列的时候,需要让优先级高的元素先出队列,此时一个普通队列就满足不了这个操作了
深思慎考
2 个月前
数据结构
·
链表
·
递归
·
堆
·
队列
·
合并链表
从合并两个链表到 K 个链表:分治思想的递进与堆优化
在链表操作中,“合并有序链表” 是一个经典问题。从最初的 “合并两个升序链表”,到进阶的 “合并 K 个升序链表”,解法思路的演变不仅体现了算法效率的优化,更蕴含了 “分治思想” 从特殊到一般的应用逻辑。本文将一步步拆解问题,从基础解法到高效优化,带你理解如何用分治思维解决复杂问题。 题目链接
再睡一夏就好
2 个月前
java
·
数据结构
·
c++
·
笔记
·
学习
·
堆
【C++闯关笔记】STL:deque与priority_queue的学习和使用
上一篇文章:【C++闯关笔记】STL:stack与queue的学习和使用-CSDN博客下一篇文章:【C++闯关笔记】模板的特化-CSDN博客
派大星爱吃猫
2 个月前
c语言
·
数据结构
·
堆
堆的概念、结构与应用详解
堆是一种特殊完全二叉树,它不仅有完全二叉树的性质还具备其它特性,一般使用顺序结构的数组来存储数据。堆分为大根堆(也称为最大堆)和小根堆(最小堆)。
自信的小螺丝钉
3 个月前
算法
·
leetcode
·
优先队列
·
堆
Leetcode 347. 前 K 个高频元素 堆 / 优先队列
原题链接:Leetcode 347. 前 K 个高频元素进阶:你所设计算法的时间复杂度 必须 优于 O(n log n) ,其中 n 是数组大小。
自信的小螺丝钉
3 个月前
leetcode
·
堆
Leetcode 295. 数据流的中位数 堆
原题链接: Leetcode 295. 数据流的中位数中位数查找思想:用两个堆维护数据(大顶堆存左半部分数据,小顶堆存右半部分数据),堆顶分别为左半最大值和右半最小值,可 O (1) 获取中位数。
_OP_CHEN
4 个月前
c语言
·
数据结构
·
二叉树
·
学习笔记
·
堆排序
·
堆
·
top-k问题
数据结构(C语言篇):(十三)堆的应用
前言一、堆排序1.1 版本一:基于已有数组建堆、取栈顶元素完成排序1.1.1 实现逻辑1.1.2 底层原理
_OP_CHEN
4 个月前
c语言
·
数据结构
·
算法
·
二叉树
·
学习笔记
·
堆
·
顺序结构二叉树
数据结构(C语言篇):(十二)实现顺序结构二叉树——堆
前言一、堆的概念与结构二、堆的实现2.1 实现堆的结构2.2 头文件的准备2.3 函数的实现2.3.1 HPInit( )函数(初始化)
_OP_CHEN
4 个月前
c语言
·
开发语言
·
数据结构
·
二叉树
·
学习笔记
·
树
·
堆
数据结构(C语言篇):(十一)二叉树概念介绍
引言一、树1.1 树的概念与结构1.2 树的相关术语1.3 树的表示1.4 树形结构的实际运用场景二、二叉树
啊?啊?
4 个月前
c++
·
堆
14 C++ STL 容器实战:stack/list 模拟实现指南 + priority_queue 用法及避坑技巧
从栈的接口中可以看出,栈实际是一种特殊的vector,因此使用vector完全可以模拟实现stack。