Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Boruvka算法并行实现CUDA_Python_Algorithm_Graph_Cuda_Minimum Spanning Tree - Fatal编程技术网

Python Boruvka算法并行实现CUDA

Python Boruvka算法并行实现CUDA,python,algorithm,graph,cuda,minimum-spanning-tree,Python,Algorithm,Graph,Cuda,Minimum Spanning Tree,我试图在CUDA中实现最小生成树。我理解基本逻辑,但在实现它时遇到了困难。算法是: Initialize Graph G(V,E) Initialize MST while size(G) > 1: for all nodes in graph: min equals minimum outgoing edge ? 在计算每个节点的最小输出边之后,我不知道如何将不相交的子图减少到新节点中。一旦我这样做了,我如何计算这些不相交子图之间的最小边 我认为您不必将不相交的子图

我试图在CUDA中实现最小生成树。我理解基本逻辑,但在实现它时遇到了困难。算法是:

Initialize Graph G(V,E)
Initialize MST
while size(G) > 1:
  for all nodes in graph:
    min equals minimum outgoing edge
    ?

在计算每个节点的最小输出边之后,我不知道如何将不相交的子图减少到新节点中。一旦我这样做了,我如何计算这些不相交子图之间的最小边

我认为您不必将不相交的子图减少到新节点中,您只需重新计算每个节点的新组件,以便能够区分(在计算最小输出边时)节点是否属于不同的组件。数据结构将帮助您以有效的方式做到这一点

对于不相交子图之间的最小边的计算,通常使用。我认为您必须为此启动另一个内核