随笔分类 - 整理:数据结构
摘要:关于平衡树的整理 1.前置知识:二叉搜索树 二叉搜索树(Binary Search Tree),简称 BST,是一类带权二叉树,这类二叉树满足:左子树中的所有节点的权值都小于根节点,而右子树中的所有节点的权值都大于根节点。 一般在实现二叉搜索树的时候,我们会将权值相同的节点并成一个节点,而不是视为多
阅读全文
摘要:关于左偏树的整理 1.左偏树是什么 左偏树是一种堆,支持 \(O(\log n)\) 地合并两个堆,插入一个新的元素,弹出堆顶元素,\(O(1)\) 查询堆顶元素。 左偏树满足一个性质,令 \(dist_u\) 表示以 \(u\) 为根的子树中,距离 \(u\) 最远的节点到 \(u\) 的距离,\
阅读全文
摘要:1.何为倍增ST表? 进行 \(O(nlogn)\) 的预处理后,可以以 \(O(1)\) 的时间复杂度查询区间最值的数据结构。 OI Wiki。 预处理: scanf("%d%d",&n,&q); for(int i=1;i<=n;i++) scanf("%d",&st[i][0]); for(i
阅读全文
摘要:关于分块的整理 1.何为分块 \(\textit {OI Wiki}\) 如是说: 分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。 说人话,就是将整体数据分为若干块,然后对每一块整体进行处理,就可以获得更优的时间复杂度 那更
阅读全文
摘要:**# 关于左偏树的整理 1.左偏树是什么 左偏树是一种堆,支持 \(O(\log n)\) 地合并两个堆,插入一个新的元素,弹出堆顶元素,\(O(1)\) 查询堆顶元素。 左偏树满足一个性质,令 \(dist_u\) 表示以 \(u\) 为根的子树中,距离 \(u\) 最远的节点到 \(u\) 的
阅读全文
摘要:关于树状数组的整理 1.何为树状数组? \(OI\ Wiki\): 树状数组是一种支持 单点修改 和 区间查询 的,代码量小的数据结构。 说人话,就是好写的,但是适用范围窄的线段树/分块 2.树状数组与其他类似数据结构的对比 时间复杂度 空间复杂度 适用范围 码量 \(分块\) \(O(n\sqrt
阅读全文
摘要:关于线段树的整理 1.什么是线段树 \(OI\ Wiki\) 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。 线段树可以在 \(O(nlogn)\) 的时间复杂度内实现单点修改,区间修改,区间查询(区间求和,求区间最大值,求区间最小值)等操作。 2.线段树与其他类似数据结构的对比 时间复杂
阅读全文

浙公网安备 33010602011771号