重生之我要当分子
重生之我要当分子
全部文章
分类
题解(3)
归档
标签
去牛客网
登录
/
注册
重生之我要当分子的博客
全部文章
(共295篇)
题解 | 【模板】堆
解题思路 插入操作(push) 将新元素添加到数组末尾 执行上浮操作,直到满足堆的性质 上浮:与父节点比较,如果大于父节点则交换 获取堆顶(top) 如果堆为空,输出"empty" 否则输出数组第一个元素 删除堆顶(pop) 如果堆为空,输出"empty...
2024-12-12
0
24
题解 | 从中序与后序遍历序列构造二叉树
解题思路 1. 基本原理 后序遍历:左子树 -> 右子树 -> 根节点 中序遍历:左子树 -> 根节点 -> 右子树 关键点:后序遍历的最后一个元素一定是根节点 2. 解题步骤 以输入 [2,1,4,3,5](中序)和 [2,4,5,3,1](后序)为例: 找到根节点...
2024-12-12
0
26
题解 | 实现二叉树先序,中序和后序遍历
解题思路 1. 基本概念 二叉树的三种遍历方式是按照访问根节点的顺序来定义的: 前序遍历:根节点 -> 左子树 -> 右子树 中序遍历:左子树 -> 根节点 -> 右子树 后序遍历:左子树 -> 右子树 -> 根节点 2. 图解示例 1 / ...
2024-12-12
0
55
题解 | 【模板】单源最短路2
解题思路 使用邻接表存储图 使用 (可见文末) 算法求解从 号点到其他所有点的最短距离。 检查是否能到达 号点,如果不能到达则输出 。 代码 cpp java python #include <bits/stdc++.h> using nam...
2024-12-12
0
16
题解 | 最小生成树
解题思路: 使用 算法求最小生成树: 将所有边按权重排序 使用并查集维护节点的连通性 依次选择权重最小的边,如果不会形成环就加入最小生成树 并查集优化: 使用路径压缩优化 find 操作 使用按秩合并优化 union 操作 算法步骤: 初始化并查集 对边按权重排序 遍历边,使...
2024-12-11
0
27
题解 | 【模板】拓扑排序
解题思路 构建图: 使用邻接表存储图 记录每个节点的入度 Kahn算法: 将所有入度为 的节点加入队列 每次从队列取出一个节点,将其加入结果 减少其所有邻接节点的入度 如果邻接节点入度变为 ,则加入队列 检查有效性: 如果最终结果数组长度不等于 ,说明图中有环 否则得到的就是...
2024-12-11
0
25
题解 | 反转链表
解题思路 使用三个指针: prev:指向前一个节点 curr:指向当前节点 next:指向下一个节点 反转步骤: 保存当前节点的下一个节点(next = curr.next) 反转当前节点的指针(curr.next = prev) 移动prev和curr指针 prev = curr ...
2024-12-11
0
22
题解 | 【模板】链表
解题思路 插入操作: 创建一个新节点。 如果链表为空,直接将新节点作为头节点。 遍历链表,找到第一个值为 x 的节点,在其前插入新节点。 如果没有找到 x,将新节点插入到链表末尾。 删除操作: 如果链表为空,直接返回。 如果头节点的值为 x,直接删除头节点。 遍历链表,找到第一个值为 ...
2024-12-11
0
23
题解 | 【模板】循环队列
解题思路 使用一个固定大小的数组来存储队列元素。 维护两个指针 head 和 tail,分别指向队首和队尾。 push 操作:将元素加入队尾,更新 tail 指针。 pop 操作:输出并移除队首元素,更新 head 指针。 front 操作:输出队首元素。 检查队列是否满或空,以决定是否输出 &q...
2024-12-11
0
29
题解 | 【模板】队列
解题思路 使用队列来存储数据。 对于 push 操作,将元素加入队尾。 对于 pop 操作,检查队列是否为空: 如果为空,输出 "error"。 否则,输出队首元素并将其出队。 对于 front 操作,检查队列是否为空: 如果为空,输出 "error"...
2024-12-11
0
19
首页
上一页
21
22
23
24
25
26
27
28
29
30
下一页
末页