- 博客(4)
- 收藏
- 关注
原创 数据结构与基础算法——图(一篇讲透)
该题需要注意数据的范围,结点数 < 查询的次数,而且结点个数的数量级在1e3,那么就可以使用离线方式处理,算出所有结点,建立查询表(counter),最后只需要查询就可以得出答案。,用贪心的思想优先选取权值较小的边,并依次连接,若出现环则跳过此边(用并查集来判断是否存在环)继续搜,直到已经使用的边的数量比总点数少一即可。广度优先遍历是一种由近及远的遍历方式,从某个节点出发,始终优先访问距离最近的顶点,并一层层向外扩张。需要找到所有可能的路径,并实时更新最大的地雷数,更适合使用dfs去找每一个路径。
2025-12-04 22:36:30
605
原创 数据结构与基础算法——STL库(容器与容器适配器篇)
本文介绍了C++ STL库中常用的容器组件,包括序列容器(vector、deque、list)、关联容器(set、map)及其无序版本(unordered_set、unordered_map),以及容器适配器(stack、queue、priority_queue)。详细说明了各容器的声明方式、基本操作(增删查改)和特性差异,如vector支持随机访问、set自动排序、unordered_map基于哈希表实现快速查找等。还比较了map与unordered_map在性能上的优劣,并展示了priority_que
2025-12-03 21:43:06
488
原创 经典算法——相向双指针
摘要:本文介绍了双指针算法的基本原理及其典型应用场景,重点分析了有序数组中的两数之和问题(LeetCode 167题),对比了暴力枚举和双指针解法的时间复杂度差异。文章还展示了双指针在其他经典问题中的应用,包括验证回文串(125题)、三数之和(15题)和四数之和(18题)等变种题目,并提供了相应代码实现。最后强调算法学习需要持续练习积累,建议通过LeetCode等平台进行针对性训练来提升算法能力。
2025-12-02 22:24:34
820
原创 并查集——树
并查集是一种高效管理元素集合的数据结构,支持合并(Union)和查询(Find)操作。核心实现使用树结构表示集合,通过路径压缩和按秩合并优化性能。路径压缩在查询时将节点直接连接到根节点,按秩合并则根据集合大小或高度决定合并顺序。文章详细介绍了并查集的基本实现、优化方法,并提供了模板代码和应用实例,包括可撤销并查集的实现思路。适用于解决连通性问题和集合合并问题,在算法竞赛中应用广泛。
2025-11-29 00:28:09
1165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅