![](https://img-blog.csdnimg.cn/direct/468cd82a13cd4754a84de92724958bbb.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 96
介绍计算机科学中的基础知识,包括各种数据结构(如数组、链表、树、图等)和算法(如排序、搜索、图算法等)。
翼同学
知行合一
展开
-
【数据结构 | 并查集】维护元素分组信息,支持高效合并集合、查询元素所在集合
并查集(Disjoint Set Union,简称并查集),也叫不相交集合(一系列没有重复元素的集合),是一种用于处理集合的数据结构。并查集主要专注于两个核心操作:合并和查找原创 2024-04-09 19:45:21 · 1231 阅读 · 0 评论 -
【算法 | 背包专题】分组背包(解题思路+题单)
分组背包问题是背包问题的一种变形。在这个问题中,物品被分成了若干组,每组中的物品相互冲突,也就是说,每组只能选择一个物品。原创 2024-04-07 14:11:09 · 1074 阅读 · 0 评论 -
【算法 | 背包专题】有依赖的背包问题,多个物品变成一个复合物品(互斥)
在有依赖的背包问题中,多个物品可以被视为一个复合物品,这些物品之间可能存在互斥关系(即,选择了一个就不能选择另一个)。同时,每个复合物品可能有多种选择方式。原创 2024-04-06 20:08:35 · 1366 阅读 · 0 评论 -
【算法 | 背包专题】01背包(解题思路+题单)
现在,我们有一个背包,它有一个固定的承载重量限制 W(背包容量有限)。同时,我们有一组物品,每个物品都有自己的重量weight[i]和价值value[i]。我们需要从这组物品中选择一些物品放入背包,并且每件物品只能用一次问:在不超过背包承载重量的前提下,放入背包的物品总价值最大是多少?原创 2024-04-06 16:48:02 · 1807 阅读 · 0 评论 -
【算法 | 广度优先搜索】5道BFS题(解析+代码)
我们可以将广度优先搜索理解为“水波扩散”,想象一下,你在一个平静的湖面上扔了一块石头,石头落入水面的那一点,就像是广度优先搜索的起始节点。石头落水后,水面会形成一圈圈扩散开去的波纹,每一圈波纹就像是从起始节点开始,经过相同步数可以到达的所有节点。原创 2024-03-28 13:20:57 · 1407 阅读 · 0 评论 -
【数据结构 | 堆】常见堆结构的实现 + 反向索引堆实现
堆是一种特殊的完全二叉树,它满足任意节点的值都大于等于(或小于等于)其子节点的值。堆常用于实现优先队列和堆排序等算法,本节还实现了一个加强堆(反向索引堆)原创 2024-03-26 16:58:17 · 746 阅读 · 0 评论 -
【数据结构 | 图论】如何用链式前向星存图(保姆级教程,详细图解+完整代码)
链式前向星是一种用于存储图的数据结构,它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适合于处理大规模的图数据,在一些笔试或者竞赛的场景中经常使用。原创 2024-03-26 13:30:22 · 2730 阅读 · 2 评论