随笔分类 - 数据结构
摘要:[toc] 存图方式 邻接矩阵存图 cpp int map[MAXN][MAXM]; for(int i = 1;i e[MAXN]; // 邻接表初始化操作 // 将起点为 的边链全部清空 e[i].clear(); // 增加边 i 到 j 的边 e[i].push_back(j); // 查询
阅读全文
摘要:[toc] 动态数组 cpp srand(time(0)); std::vector qwq; for(int i = 1;i qwq; for(int i = 1;i qwq; for(int i = 1;i qwq; for(int i = 1;i ,std::greater qaq; for(
阅读全文
摘要:[toc] 什么是堆? 堆是一种数据结构,可以用来实现优先队列 大根堆 大根堆,顾名思义就是根节点最大。我们先用小根堆的建堆过程学习堆的思想。 小根堆 下图为小根堆建堆过程 堆的操作 上浮 下沉 插入 弹出 取顶 堆排序 STL heap 所在库 include cpp include using
阅读全文
摘要:[toc] 线段树 实现问题:常用于求数组区间最小值 时间复杂度:(1).建树复杂度: nlogn 。(2).线段树算法复杂度: logn 什么是线段树? 叶子节点是原始组数arr中的元素 非叶子节点代表它的所有子孙叶子节点所在区间的最小值 例如:数组[2, 5, 1, 4, 9, 3]可以构造如下
阅读全文

浙公网安备 33010602011771号