首页 > 【模板】堆
头像 天不生我李淳罡,剑道万古如长夜
发表于 2022-05-13 20:32:37
将数组heap看成完全二叉树,用heap的索引按层序给完全二叉树编号,编号为i的节点的值对应heap[i]的值,那么二叉树的根、左、右节点编号满足left=2root+1,right=2root+2,按照这个规则访问数组就像在访问二叉树,再将二叉树构建成所有根节点都大于等于左右子节点。 ">#inc 展开全文
头像 KQYaili
发表于 2022-11-01 20:58:49
菜狗只会这么写 #include<bits/stdc++.h> using namespace std; int main() {     priority_queue<int,  展开全文
头像 KEY.L
发表于 2022-07-01 16:18:17
一张图教会你~~~~ 当时自己学的时候做的笔记,无非是操作步骤更加多了,大家可以看一下~~~ const int maxn=1e5+100; int a[maxn],h[maxn],mysize; void down(int  展开全文
头像 索因
发表于 2022-03-21 10:58:37
最大堆的实现 目标:实现最大堆的构建以及调整->主要为添加一个元素或者弹出一个元素后的调整 ACM模式中类的声明及初始化: class MyHeap(object): def __init__(self): # 定义一个大根堆 self.heap = [ 展开全文
头像 栀漓
发表于 2022-03-18 23:27:28
import java.util.*; class Heap{ private int[] array; //开辟一个数组保存堆 private int length; // 记录堆的实际长度(非常必要),可以节省出堆的操作。 Heap(int n){ ar 展开全文
头像 lee23333
发表于 2022-05-19 19:36:40
import java.util.*; public class Main {     public static int size = 0;   & 展开全文
头像 英俊的大学生拒绝内卷
发表于 2023-03-14 21:06:49
#include <string> #include <string.h> #include <queue> #include <cstdio> using namespace std; int main() { int n; scan 展开全文
头像 mqj的小布丁
发表于 2022-07-10 21:34:16
const int maxn=1e5+100; int a[maxn],h[maxn],mysize; void down(int u) {     int t=u;   &nbs 展开全文
头像 帅气哥哥
发表于 2023-06-06 19:54:45
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void top(long[] heap, int[] size){ if ( 展开全文
头像 牛客510028288号
发表于 2023-04-10 02:08:09
#include<bits/stdc++.h> #include <vector> using namespace std; void down(int u, vector<int>& a, int mysize) { int t = u; if 展开全文