CC++ & Algorithm
算法可视化
数据结构

堆与优先队列

堆是完全二叉树:每个节点比孩子小(小根堆),堆顶永远是最小值。插入时上浮,删除堆顶时下沉。

main.cpp第 2 行
1// 堆: 完全二叉树, 每个节点比孩子小(小根堆)
2priority_queue<int, vector<int>, greater<int>> pq;
3pq.push(5); pq.push(3); pq.push(8); pq.push(1);
4// 堆顶永远是最小值
5int x = pq.top(); // 1
6pq.pop(); // 移除堆顶 1, 堆调整
7pq.push(2);
8// 堆: 2, 3, 5, 8
变量表0 个变量
还没有变量,执行到声明语句后出现
二叉树(左小右大)
空树
1/9

创建空堆 pq

1 / 9