随笔分类 -  算法 / 图论

Graph Data Structure And Algorithms
摘要:目录简介最短路总结 简介 最短路 在一个图中有 n 个点、m 条边。边有权值,权值可正可负。边可能是有向的,也可能是无向的。给定两个点,起点是 s,终点是 t,在所有能连接 s 和 t 的路径中寻找边的权值之“和” 最小的路径,这就是最短路径问题。 最短路有两种: 单源最短路:从单个节点出发,到所有 阅读全文
posted @ 2024-03-22 11:22 LARRY1024 阅读(105) 评论(0) 推荐(0)
摘要:目录应用应用1:Leetcode 112. 路径总和题目分析DFS代码实现应用2:Leetcode 113. 路径总和 II题目分析回溯代码实现应用3:Leetcode 437. 路径总和 III题目分析方法一:DFS方法二:回溯 + 前缀和代码实现 应用 应用1:Leetcode 112. 路径总 阅读全文
posted @ 2023-07-07 14:39 LARRY1024 阅读(115) 评论(0) 推荐(0)
摘要:目录Bellman-Ford 算法记号过程举例应用应用1:Leetcode 787. K 站中转内最便宜的航班题目分析方法一:动态规划边界条件状态转移方法二:Bellman Ford 算法代码实现 Bellman-Ford 算法 贝尔曼-福特(Bellman–Ford)算法是一种基于松弛(relax 阅读全文
posted @ 2023-07-04 11:11 LARRY1024 阅读(872) 评论(0) 推荐(2)
摘要:目录欧拉图定义性质判别方法无向图有向图示例求欧拉回路的方法Fleury 算法Hierholzer 算法实现性质应用计算机译码应用应用1:洛谷 P2731 骑马修栅栏题目解题思路代码实现应用2:Leetcode 753. 破解保险箱题目解题思路题意转换思路Hierholzer 算法代码实现应用3:Le 阅读全文
posted @ 2023-05-30 17:43 LARRY1024 阅读(370) 评论(0) 推荐(1)
摘要:目录图图的表示方法邻接表数组邻接矩阵 图 图的表示方法 图有三种常用的表示方法: 邻接矩阵 邻接表数组 边的数组 其中,最常用的就是用 邻接表数组 和 邻接矩阵 表示图。 邻接表数组 定义:以顶点为索引的列表数组,其中的每一个元素都是和该顶点相邻的顶点列表。 邻接矩阵 定义:使用一个 V 乘 V 的 阅读全文
posted @ 2023-02-28 23:18 LARRY1024 阅读(31) 评论(0) 推荐(0)
摘要:目录拓扑排序算法Kahn(卡恩)算法DFS 算法代码实现应用应用1:Leetcode.207题目解题思路方法一:深度优先方法二:广度优先代码实现应用2:Leetcode.210题目解题思路方法一:深度优先搜索方法二:广度优先搜索代码实现应用3: Leetcode.239题目解题思路方法一:DFS方法 阅读全文
posted @ 2022-12-24 10:54 LARRY1024 阅读(305) 评论(0) 推荐(0)
摘要:目录最小生成树Kruskal 算法应用应用1:Leetcode.1135题目解题思路代码实现应用2:Leetcode.1584题目解题思路代码实现 最小生成树 我们定义无向连通图的 最小生成树(Minimum Spanning Tree,MST)为边权和最小的生成树。 注意:只有连通图才有生成树,而 阅读全文
posted @ 2022-12-22 16:20 LARRY1024 阅读(124) 评论(0) 推荐(0)
摘要:目录二叉搜索树定义性质常用结论二叉树的常用操作二叉查找树的有效性校验递归的思路迭代的思路二叉查找树的查找查找最大值查找最小值二叉查找树的插入递归的思路迭代的思路二叉查找树的删除代码实现递归实现迭代实现 二叉搜索树 定义 一棵二叉查找树(\(BST\))是一个二叉树,其中每个结点都含有一个\(Camp 阅读全文
posted @ 2022-12-07 23:25 LARRY1024 阅读(109) 评论(0) 推荐(0)
摘要:目录Dijkstra算法算法分析代码模板应用应用 1:Leetcode.743题目题目分析代码实现应用 2:Leetcode.1514题目解题思路代码实现应用 3:Leetcode.1631题目解题思路代码实现总结 Dijkstra算法 给定一个源顶点 \(s\) 从一组顶点 \(V\) 在加权有向 阅读全文
posted @ 2022-11-28 23:58 LARRY1024 阅读(647) 评论(0) 推荐(0)