避圈法

避圈法的基本思想是先把邊按權由小到大排列起來,依次挑選權儘可能小的邊構造生成樹,即首先選取權最小邊,再從其餘邊中選取不能與已選邊構成圈的權最小的邊作為添加邊,依次類推,直到不存在合適的邊為止.全部挑選的邊與節點一起形成的圖就是最小樹。

基本思想

避圈法的基本思想是先把邊按權由小到大排列起來,依次挑選權儘可能小的邊構造生成樹,即首先選取權最小邊,再從其餘邊中選取不能與已選邊構成圈的權最小的邊作為添加邊,依次類推,直到不存在合適的邊為止.全部挑選的邊與節點一起形成的圖就是最小樹。

算法步驟

避圈法算法步驟如下:

1、將連通網路G的邊按權由小到大排序,並加以編號,記為e,e,…,e;

2、若(V,E)構成連通圖,則(V,E)便是最小樹,否則轉下一步;

3、從E\E中選取一邊e,使得(V,E)U{e}不含圈,而且e為符合該條件的權最小(序號最小)的邊,將所得到的EU{e}仍記為E,轉第2步。

案例

某大學準備將所屬7個學院的計算機聯網,網路可能聯通的途徑如圖所示,邊旁的數字為相應線路的鋪設費用(單位:萬元),試設計一個能連通各學院並且總費用最少的網路。

圖1 圖1

解:把線路的鋪設費用作為邊的權。圖就是一個網路,其最小樹既保證各學院信息暢通又能使總費用最少。

用避圈法求解的過程如下:在權為2的5條邊中,若選{v,v}和{v,v},就不能選{v,v},因為這三條邊構成圈,所以只能選取其中4條,其順序用帶圈的數字表示。同理,在權為3的3條邊中,若選了{v,v},則{v,v}就不能要。最後選取{v,v},共有6條邊入選,最小樹已經得到,如圖所示,最小總費用z*=2+2+2+2+3+3=14(萬元)。

圖2 圖2

相關詞條

相關搜尋

熱門詞條

聯絡我們