![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
大法师安东尼ds
这个作者很懒,什么都没留下…
展开
-
力扣热题100
【代码】力扣热题100。原创 2024-01-10 22:08:10 · 427 阅读 · 0 评论 -
基础数据结构
删除:swap[heap[1], heap[size]], size--, down[1] 删除头元素很麻烦。删除任意元素:heap[k] = heap[size];down(k), up(k)修改元素:heap[k] = x;down(k), up(k)插入:heap[s++] = x, up(size)从 n/2 开始 down,复杂度为 O(n)down: 往下调整,求最小:heap[1]原创 2024-01-07 15:29:06 · 391 阅读 · 0 评论 -
二叉树 经典例题
h层,则最底层最右边元素是2^{h-1}最左边是2^{h}-1。后序最后一个节点是根节点-->确定左子树和右子树。任意节点左右子树高度差原创 2023-12-31 16:27:26 · 471 阅读 · 0 评论 -
双指针/滑动窗口/贪心 经典例题
【代码】双指针/滑动窗口/贪心 经典例题。原创 2023-12-31 14:57:53 · 390 阅读 · 0 评论 -
二分查找 经典例题
public:// 大于等于最小值模板1int r1 = r;// 小于等于最大值模板2。原创 2023-12-31 14:36:19 · 457 阅读 · 0 评论 -
动态规划 典型例题
以下标 i 的元素结尾的最长递增子序列的长度。可以不连续,所以else后面有差异。行号从 1 开始,列从 0 开始。大体和上一题类似,操作有三种。第一个维度删掉,第二个反过来。原创 2023-12-31 13:35:58 · 866 阅读 · 0 评论 -
图论 经典例题
对有向图的节点排序,使得对于每一条有向边 U-->V U都出现在V之前。建立映射 [0, a, b] 其中 0 代表人名,a 代表邮箱地址。先连通,看连通块的数量,连接 n 个块需要 n - 1 个边。找到不能进入环的点,跟它在不在环里面没关系。从出度为 0 的点出发,它们不可能在环中。构建并查集的操作基本都是一样的。1.查询根节点 + 路径压缩。并查集 + 求连通块的数量。根据父节点的特点找冗余路径。变体,需要维护连通块的数量。依次删去度数为 1 的点。题眼一般是多个集合的合并。原创 2023-12-27 21:23:14 · 1000 阅读 · 0 评论 -
链表 典型习题
【代码】链表常见算法。原创 2023-12-23 22:21:46 · 368 阅读 · 0 评论 -
回溯算法 典型习题
枚举各种可能的情况。0.直接枚举子集1.约束条件是子集中数字的和 392.约束条件是子集的大小 77 46 473.约束条件是1 2两者的结合 21614.约束条件是集合数 + sum 93 6985.去重:同层删去相同的递归起点6.约束条件是 子集中数的大小关系 4917.前一个情况可能是后一个情况的约束 51。原创 2023-12-23 22:53:01 · 360 阅读 · 0 评论