我想要这个,每个节点都有4个边缘并且附加了成本。假设我有a,b,c和d节点。并且我有成本附加到它,如果我附加b节点的顶部,下部,左侧或右侧的节点然后它们对于每个连接的边缘都有不同的成本。现在我想得到一个树,它给我最小的成本生成树?如果你想要任何进一步的xplaination那么我可以提供你的消息我
答案 0 :(得分:0)
每个节点都有4条边,并且附加了成本。
这就是我们所说的加权图。
现在我想得到一棵树,它给我最小的成本生成树?
为此目的有几种算法,解释它们远远超出了SO的目的。通常,这些算法在"算法和算法中讨论。数据结构" -like 课程。
看看Prim's,Kruskal's,...算法。 我个人最喜欢的是Kruskal的算法,因为它非常容易实现并且相对高性能(O(E log V),E =#edges,V =#nodes)。
Here是一些算法。
如果您想要进一步的xplaination,我可以提供给您的消息。
我们不会为您实施它。看看我指出的算法,它们不应该那么难实现。如果你采用Kruskal算法,你所要做的就是实现或搜索set
数据结构的实现(它支持union
和find
的调用。一旦你拥有了设置数据结构,实现Kruskal就会很简单。