往后会遇到什么
约 10 分钟
这门课之后,你还会遇到一些更专门的结构:堆,能飞快地拿到最大或最小;并查集,专管"这两个东西是不是一伙的";线段树,擅长对一段区间反复查询和修改。它们看着新,其实都是前人为了解决某一类具体难题,一点点发明出来的。
#include <iostream>
#include <queue>
using namespace std;
int main() {
// 堆,其实你已经见过它了:优先队列就是靠堆实现的
priority_queue<int> heap;
heap.push(4); heap.push(1); heap.push(7);
cout << "最大值:" << heap.top(); // 输出:最大值:7
}
想一想:每当有人"发明一个新结构",背后几乎都是遇到了某个老结构做不快、做不好的事。带着这个视角去学,新结构就不再吓人了。
小纸条
想想"发明一个结构"通常是为了什么?
登录 后可看答案