随笔分类 -  数据结构

摘要:[toc] 存图方式 邻接矩阵存图 cpp int map[MAXN][MAXM]; for(int i = 1;i e[MAXN]; // 邻接表初始化操作 // 将起点为 的边链全部清空 e[i].clear(); // 增加边 i 到 j 的边 e[i].push_back(j); // 查询 阅读全文
posted @ 2018-11-08 20:05 Chicago_01 阅读(337) 评论(0) 推荐(0)
摘要:[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( 阅读全文
posted @ 2018-11-08 10:51 Chicago_01 阅读(284) 评论(1) 推荐(1)
摘要:[toc] 什么是堆? 堆是一种数据结构,可以用来实现优先队列 大根堆 大根堆,顾名思义就是根节点最大。我们先用小根堆的建堆过程学习堆的思想。 小根堆 下图为小根堆建堆过程 堆的操作 上浮 下沉 插入 弹出 取顶 堆排序 STL heap 所在库 include cpp include using 阅读全文
posted @ 2018-09-21 16:06 Chicago_01 阅读(351) 评论(0) 推荐(0)
摘要:[toc] 线段树 实现问题:常用于求数组区间最小值 时间复杂度:(1).建树复杂度: nlogn 。(2).线段树算法复杂度: logn 什么是线段树? 叶子节点是原始组数arr中的元素 非叶子节点代表它的所有子孙叶子节点所在区间的最小值 例如:数组[2, 5, 1, 4, 9, 3]可以构造如下 阅读全文
posted @ 2018-08-28 02:02 Chicago_01 阅读(493) 评论(0) 推荐(0)