图算法
算法列表
路径搜索算法
图搜索算法是用于在图中探索大量路径的算法,主要用于广泛的搜索或显式搜索。这些算法包括广度优先搜索和深度优先搜索,可以遍历图中的大量路径,但并不总是期望找到计算最优的路径(例如最短或权重最小),通常是许多其他类型分析的第一步。
路径搜索算法建立在图搜索算法的基础上,探索各点之间的路径。这些算法识别最优路径,主要用于物流规划、最低成本呼叫或 IP 路由问题以及游戏模拟等。
英文名称 | 中文名称 | 算法说明 | 应用场景 |
---|---|---|---|
Average_Shortest_Path_Length | 平均最短路径长度 | 计算图中两个点之间的平均最短路径长度。 | 路径设计、网络规划等 |
Shortest_Path | 最短路径 | 在图中查询一个起始点到终点之间的所有最短路径。 | 路径规划、导航等 |
BFS | 多跳算法 | 返回图中其他点到起点的多跳值。 | 搜索、路由协议等 |
SSSP(Single-Source Shortest Path) | 单源最短路径 | 计算在图中起点到其他所有点的最短距离。 | 网络路由、路径设计等 |
MSSP | 多源最短路径 | 从多个起点出发,计算到达任意点的最短路径长度。任意点的最短路径长度是从所有起点到达该点的最短路径中的最小值。 | 物流优化、网络路由等 |
KSSSP | k 步最短路径 | 计算图上 k 跳以内的最短路径长度。 | 网络路由、路径规划等 |
SSSP_Has_Path | 路径存在判断 | 判断两点之间是否存在路径。 | 图查询、路由协议等 |
Is_Simple_Path | 简单路径判定 | 判断给定的一组点是否能组成一条简单路径。 | 图查询、路径规划等 |
All_Path_Search | 全路径搜索 | 在图中查找两点间 K 跳以内的所有路径。 | 路由协议、网络分析等 |
Random_Walk | 随机游走 | 随机游走算法是一种基于概率的图遍历算法,它模拟在图或网络中的随机移动过程。该算法从一个起点开始,按照一定的概率选择下一个点,并重复该过程,直到满足停止条件。 | 链接预测等 |
Diameter | 直径估计算法 | 直径估计算法是一种用于估计图的直径的算法。图的直径是指图中任意两个点之间最短路径的最大长度,是描述图大小和连接性的重要指标之一。 | 图分析、网络优化等 |
Node_Boundary | 点边界 | 在图中点边界为图内两个子图 T 和 S 的边界点集合,集合内每个点都在 T 中,且存在一条边连接到 S 中的点。 | 社交网络、关系网络等 |
Edge_Boundary | 边边界 | 边界边是指连接着两个不同社区的边。边界边算法是指一种用于识别边界边的算法,其主要目的是确定社区之间的边界,并促进不同社区之间的联系和信息传递。 | 社交网络、关系网络、Web 网页链接分析等 |
All_Shortest_Path | 节点对最短路径 | 查询图中两点之间的最短路径。 | 图分析、网络优化等 |
All_Simple_Paths | 所有简单路径 | 查询一个起点经过给定点的所有简单路径。 | 路径规划、组合优化等 |
SSSP_All_Pairs_Length | 所有点对最短路径长度 | 计算图中所有点之间的最短路径长度。 | 图分析、网络优化等 |
DFS | 深度优先搜索 | 通过深度优先搜索算法查找各个点到起点的距离。 | 网络路由、搜索引擎的爬虫、信息检索等。 |
Multi_Source_Khop | 多源多跳 | 支持根据实际情况查找多个起点 K 跳的结果,支持返回 K 跳的点或者 k 跳的点的数量。 | 网络路由、搜索引擎的爬虫、信息检索等。 |
BFS_Generic | 通用广度优先搜索 | 是一种广泛使用的图搜索算法,用于在图中查找从源点到目标点的最短路径或最少步数。BFS 采用队列数据结构,按照广度优先的顺序遍历图中的点。 | 网络路由、搜索引擎的爬虫、信息检索等。 |
中心性算法
中心性算法(Centrality Algorithms)用于识别图中特定点的角色及其对网络的影响。中心性算法能够帮助识别最重要的点,帮助了解组动态,例如可信度、可访问性、事物传播的速度以及组与组之间的连接。尽管这些算法中有许多是为社会网络分析而发明的,但它们已经在许多行业和领域中得到了应用。