Graph Algorithms(图算法)

本文介绍了图算法的基础概念,包括有向图、无向图、树、完全图等,并详细讲解了Dijkstra算法、Floyd算法在寻找全部顶点间最短路径的应用。此外,探讨了Prime算法在构建最小生成树中的并行计算策略,以及最大独立集和单源最短路径问题的串行和并行解决方案。文中还提到了不同并行计算模型,如二维块映射和流水线二维块映射,用于优化图算法的效率。
摘要由CSDN通过智能技术生成
  1. (u,v)是有向图中的边,我们就称顶点v领接顶点u。

  2. 从顶点u到顶点v的路径是顶点序列<v0,v1,v2...vk>,其中v0 = v,vk=u。路径中的顶点是唯一的,则称路径是简单的。起点和终点一致则为一个环。如果所有的中间顶点都不相同,则称环是简单的。

  3. 如果图中的每一对顶点都邻接,则称图为完全图。树林是无圈图,树是连通无圈图。如果图是树,则边为顶点数减去一。

  4. 在计算机程序中,有两种表示图的标准方法。一种是矩阵,一种是邻接表(也可以存储有权图,可以定义一个Edge类)。
    这里写图片描述


prime算法(dijkstra算法类似)

n个元素分给p个进程,各自计算本进程内最短值发给P0,P0得到全部最小值后广播给各个进程。给最小值节点纳入最小生成树,更新其他节点的距离。重复操作。

全部顶点间最短路径

使用dijkstra算法

1. 源划分形式:一个进程执行一个单源最短路。进程数目过多性能不好。由并发带来的等效率函数为O(N*N*N)

2. 源并行形式:每个顶点分配p/n个进程,算法总共能用到的进程数目为n*n。

使用Floyd算法

  1. 串行算法:三层for循环,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值