![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
初级数据结构
初级数据结构的知识和习题
Dearlingxx
记录自己的成长历程,欢迎一起讨论进步。
展开
-
堆排序
【代码】堆排序。原创 2024-08-08 10:10:01 · 108 阅读 · 0 评论 -
借教室 二分答案 + 差分
1.当出现第一个不满足的订单后,后面的订单都是不满足的,所以可以通过二分答案找到第一个不满足的订单,因为每次都是从前往后借教室所以要把每次的操作存储一下。2.每次借用教室的时候对应区间的教室数量会减少是区间修改可以使用差分。原创 2024-07-28 11:43:35 · 138 阅读 · 0 评论 -
程序自动分析 并查集+离散化
原创 2024-07-24 18:42:16 · 123 阅读 · 0 评论 -
搭配购买 并查集+01背包
·原创 2024-07-24 17:29:44 · 245 阅读 · 0 评论 -
格子游戏 二维情景并查集
原创 2024-07-24 16:35:29 · 152 阅读 · 0 评论 -
图中点的层次 树与图的广度优先遍历模板
使用链表时需要注意数组中的元素由开辟时的野节点转化为逻辑上的节点。原创 2024-07-22 21:13:14 · 213 阅读 · 0 评论 -
字符串哈希 模板
字符串前缀哈希数组的作用就是能够像数组前缀和快速查找某一区间的和一样得到字符串某一连续子串的哈希值在O(1)的时间复杂度内实现字符串匹配。而且一个和字符串等长的字符串前缀哈希数组可以表示出该字符串所有连续子串,空间开销小。预处理一遍得到字符串前缀哈希一遍可以快速得到所要匹配区间的哈希值进行匹配。原创 2024-07-22 05:41:40 · 272 阅读 · 0 评论 -
连通块中点的数量 并查集模板
【代码】连通块中点的数量 并查集模板。原创 2024-07-22 00:35:22 · 272 阅读 · 0 评论 -
合并集合 并查集模板
【代码】合并集合 并查集模板。原创 2024-07-22 00:08:00 · 139 阅读 · 0 评论 -
最大异或对 字典树
对于数组中每一个数尽量找到另一位每一位二进制位都是与之相反的数,这样就需要将每一个数拆开存储。原创 2024-07-21 23:34:39 · 209 阅读 · 0 评论 -
Trie字符串统计 字典树模板
【代码】Trie字符串统计 字典树模板。原创 2024-07-21 22:29:27 · 237 阅读 · 0 评论 -
滑动窗口 单调队列模型
【代码】滑动窗口 单调队列模型。原创 2024-07-21 20:50:49 · 140 阅读 · 0 评论 -
单调栈
【代码】单调栈。原创 2024-07-21 20:11:06 · 179 阅读 · 0 评论 -
表达式求值 用栈实现中序表达式求值
【代码】表达式求值 用栈实现中序表达式求值。原创 2024-07-21 19:37:52 · 96 阅读 · 0 评论 -
双链表 用数组实现一个双链表
【代码】双链表 用数组实现一个双链表。原创 2024-07-21 15:52:52 · 207 阅读 · 0 评论 -
用数组实现一个单链表
【代码】用数组手搓链表。原创 2024-07-21 14:27:50 · 172 阅读 · 0 评论 -
交替组II leetcode 134双周赛 环形数组 + 滑动窗口
右移动:1.当前加入元素与不同于已有元素最后一个元素则加入 2.当前元素与已有元素最后一个元素相同时窗口左右边界同时向后移动一位。左移动:1.窗口大小大于要求向右移动一位, 2.当前元素与已有元素最后一个元素相同时窗口左右边界同时向后移动一位。一个可行的思路是用 环形数组 + 滑动窗口 来实现这道题,环形数组实现环的逻辑,滑动窗口实现相互交替的逻辑。2.下标索引:每次通过索引取值时要对数组长度取余。相同:区间长度计算与普通数组相同。1.下标不能赋值为对数组长度取余。原创 2024-07-16 09:29:06 · 148 阅读 · 0 评论 -
修路 查找集合数量
有多少 f [ i ] = i 的根节点就有多少个集合。原创 2024-07-12 10:38:03 · 183 阅读 · 0 评论 -
最简单的并查集
【代码】最简单的并查集。原创 2024-07-12 10:30:16 · 141 阅读 · 0 评论 -
树的最近公共祖先 树上LCA
1. 小数据 时间复杂度O( nm )用了一个什么倍增思想没听懂。原创 2024-07-12 22:33:10 · 113 阅读 · 0 评论 -
求树的直径
【代码】求树的直径。原创 2024-07-12 19:11:26 · 138 阅读 · 0 评论 -
字典树 字符串排序
【代码】字典树 字符串排序。原创 2024-07-13 03:36:28 · 166 阅读 · 0 评论 -
求树上路径 无根树
【代码】求树上路径 无根树。原创 2024-07-12 18:41:07 · 166 阅读 · 0 评论 -
行进路线 并查集 联通圆
点与圆和圆与圆是否联通用对应的点是否在圆内和圆是否相交的数学公式来判断。最后判一个每个圆之间是否联通所以时间复杂度为O(原创 2024-07-12 11:26:22 · 323 阅读 · 0 评论 -
字典树 最长公共前缀
和书上LCA极其相似用到了倍增的思想,但是目前不懂倍增。原创 2024-07-13 03:41:01 · 69 阅读 · 0 评论 -
树的重心
2. 大数据量 时间复杂度O( n )1. 小数据量 时间复杂度O(原创 2024-07-12 21:19:47 · 113 阅读 · 0 评论 -
字典树裸题
【代码】字典树裸题。原创 2024-07-13 02:46:44 · 246 阅读 · 0 评论 -
用数组手搓一个小顶堆
将该元素和队尾元素互换,如果队尾元素比该元素小尝试向上调整,如果队尾元素比该元素大尝试向下调整。将堆顶元素和堆中最后一个元素交换位置,将堆的长度减一再将新的堆顶元素向下调整。将元素插入到堆的末尾位置向上调整。堆默认从数组下标为1开始存储。原创 2024-07-05 17:48:29 · 193 阅读 · 0 评论 -
单调栈 求下一个更大数
问从每个数字往后看,第一个比他大的数字的下标是多少。使用一个单调递减栈即可。原创 2024-07-06 11:38:27 · 209 阅读 · 0 评论 -
哈希 构造最大回文数组
取出每一个数出现次数的偶数部分作为回文串两边元素相加,最后加上可能存在的出现一次的中间位置即可。在给出的n个数中选择一部分数,问能组成的最长回文数组长度是多少。原创 2024-07-05 18:04:08 · 102 阅读 · 0 评论 -
前缀和数组 差分数组
这种区间批量增减操作是静态的无法一遍查询一边修改,需要统一在差分数组上修改完毕后再通过差分数组与原数组的关系还原回原数组,再实现查询。一维:通过空间换时间适用于需要频繁进行区间数值的批量增减操作的场景。二维:通过空间换时间适用于需要频繁查询某一个子矩阵中元素和的场景。一维:通过空间换时间适用于需要频繁查询某一段区间和的场景。,该前缀和中的每一项也就是数组中对应的前 i 项和。这两个元素为对角线构成的矩形中元素和。也是在输入原数组时同步构造前缀和数组。,该前缀和中的每一项也就是数组中以。原创 2024-07-06 00:32:54 · 349 阅读 · 0 评论