算法可视化
数据结构
堆与优先队列
堆是完全二叉树:每个节点比孩子小(小根堆),堆顶永远是最小值。插入时上浮,删除堆顶时下沉。
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