蓝桥杯算法入门(Python) 课件 9-3最小生成树.pptxVIP

  • 1
  • 0
  • 约小于1千字
  • 约 13页
  • 2026-08-23 发布于山东
  • 举报

蓝桥杯算法入门(Python) 课件 9-3最小生成树.pptx

罗勇军;最小生成树;基于贪心的两种算法:(1)prim算法;(2)kruskal算法;Prim算法;Kruskal算法;(1)初始时最小生成树T为空。令S是以结点i为元素的并查集,开始的时候,每个点属于独立的集。

;(2)加入第一个最短边(1-2):T={1-2}。并查集S中,把结点2合并到结点1,也就是把结点2的集2改成结点1的集1。

;(3)加入第二个最短边(3-4):T={1-2,3-4}。并查集S中,结点4合并到结点3。;(4)加入第三个最短边(2-5):T={1-2,3-4,2-5}。并查集S中,把结点5合并到结点2,也就是把结点5的集5改成结点2的集1。在集1中,所有结点都指向了根结点,这样做能避免并查集的长链问题。即使用了“路径压缩”的方法。

;(5)第四个最短边(1-5)。检查并查集S,发现5已经属于集1,丢弃这个边。这一步实际上是发现了一个圈。并查集的作用就体现在这里。

;(6)加入第五个最短边(2-4)。并查集S中,把结点4的集并到结点2的集。注意这里结点4原来属于集3,实际上修改的是:把结点3的集3改成1。

;复杂度

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档