普林演算法 (Prim's algorithm)

本文详细介绍Prim's Algorithm的基本原理及操作步骤,从一个初始节点出发,通过不断选择权重最小的边来扩展节点,最终构建出一棵包含所有节点的最小生成树。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Prim's algorithm 是以增加節點的觀念做為出發點。

首先以某一節點當作出發點,在與其相連且尚未被選取的節點裡,選擇權重最小的邊, 將新的節點加入。如此重覆加入新節點,直到增加了n - 1條邊為止。(假設有 n 個節點)

  1. 起始。


  2. 假設從 a 開始,相鄰節點的邊有三條 (8, 12, 13),最小的邊為 8。


  3. 我們選擇加入權重為 8 的邊,將節點 c 加進來。
    相鄰節點的邊有四條 (2, 12, 13, 21),最小的邊為 2。


  4. 我們選擇加入權重為 2 的邊,將節點 f 加進來。
    相鄰節點的邊有四條 (7, 12, 13, 21),最小的邊為 7。


  5. 我們選擇加入權重為 7 的邊,將節點 b 加進來。
    相鄰節點的邊有兩條 (13, 32),最小的邊為 13。


  6. 我們選擇加入權重為 13 的邊,將節點 d 加進來。
    相鄰節點的邊有兩條 (9, 32),最小的邊為 9。


  7. 我們選擇加入權重為 9 的邊,將節點 g 加進來。
    相鄰節點的邊有一條 (32),最小的邊為 32。


  8. 我們選擇加入權重為 32 的邊,將節點 e 加進來。


    由於這個graph有7個節點,我們已經新增了6條邊,所以Prim's algorithm完成。
    被選出來的邊為:8, 2, 7, 13, 9, 32。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值