图论
文章平均质量分 87
陌然。。
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【542. 01 矩阵 中等】
时间复杂度:O(M * N),其中 M 是矩阵的行数,N 是矩阵的列数。每个单元格最多被访问一次。空间复杂度:O(M * N),用于队列。原创 2025-02-28 21:50:57 · 659 阅读 · 0 评论 -
【1162. 地图分析 中等】
时间复杂度:O(N^2),其中 N 是网格的边长。每个单元格最多被访问一次。空间复杂度:O(N^2),队列中最多存储所有陆地单元格。多源bfs需要先把所有的起点都加入队列,同时进行单源bfs,这样重复的路程不再经过,不仅得出的答案正确,而且时间复杂度大大降低,这也就是多源BFS的核心思路,多个起点同时用单源BFS的方法去找最短路径。原创 2025-02-28 21:01:58 · 695 阅读 · 0 评论 -
A*算法实现
A * 算法的时间复杂度 其实是不好去量化的,因为他取决于 启发式函数怎么写。最坏情况下,A * 退化成广搜BFS,算法的时间复杂度 是 O(n^2),n 为节点数量。最佳情况,是从起点直接到终点,时间复杂度为 O(dlogd),d 为起点到终点的深度。因为在搜索的过程中也需要堆排序,所以是 O(dlogd)。实际上 A * 的时间复杂度是介于 最优 和最坏 情况之间, 可以 非常粗略的认为 A * 算法的时间复杂度是 O(nlogn) ,n 为节点数量。原创 2025-02-21 18:03:58 · 818 阅读 · 0 评论 -
dijkstra(堆优化版)
时间复杂度:O(ElogE) E 为边的数量空间复杂度:O(N + E) N 为节点的数量如何利用邻接表或邻接矩阵存储图结构。如何设计小顶堆和优先队列。如何遍历邻接节点。原创 2025-02-20 19:21:45 · 637 阅读 · 0 评论 -
邻接矩阵和邻接表的转换
邻接矩阵和邻接表都要掌握。原创 2025-02-19 11:05:57 · 612 阅读 · 0 评论 -
【99. 岛屿数量】
广搜的搜索方式就适合于解决两个点之间的最短路径问题。因为广搜是从起点出发,以起始点为中心一圈一圈进行搜索,一旦遇到终点,记录之前走过的节点就是一条最短路。当然,也有一些问题是广搜 和 深搜都可以解决的,例如岛屿问题,这类问题的特征就是不涉及具体的遍历方式,只要能把相邻且相同属性的节点标记上就行。原创 2025-02-18 17:02:04 · 1134 阅读 · 0 评论 -
【98. 所有可达路径】
本题是一道简单的深搜题目,也可以说是模板题,和 力扣797. 所有可能的路径思路是一样一样的。对于这种有向图路径问题,最合适使用深搜,当然本题也可以使用广搜,但广搜相对来说就麻烦了一些,需要记录一下路径。而深搜和广搜都适合解决颜色类的问题,例如岛屿系列,其实都是 遍历+标记,所以使用哪种遍历都是可以的。原创 2025-02-18 10:25:02 · 888 阅读 · 0 评论
分享