第十三周 Prim演算法的驗證

2021-07-09 06:02:26 字數 1494 閱讀 7429

/*

* 檔名稱: main.cpp,top.h,1.cpp

* 完成日期:2023年12月30日

* 版本號:codeblocks

** 問題描述:  最小生成樹的普里姆演算法

* 輸入描述: 無

* 程式輸出: 見執行結果

程式及**:

#include #include #define maxv 100                //最大頂點個數

#define inf 32767 //inf表示∞

typedef int infotype;

//以下定義鄰接矩陣型別

typedef struct

vertextype; //頂點型別

typedef struct //圖的定義

mgraph; //圖的鄰接矩陣型別

//以下定義鄰接表型別

typedef struct anode //弧的結點結構型別

arcnode;

typedef int vertex;

typedef struct vnode //鄰接表頭結點的型別

vnode;

typedef vnode adjlist[maxv]; //adjlist是鄰接表型別

typedef struct

algraph; //圖的鄰接表型別

//功能:由乙個反映圖中頂點鄰接關係的二維陣列,構造出用鄰接矩陣儲存的圖

//引數:arr - 陣列名,由於形式引數為二維陣列時必須給出每行的元素個數,在此將引數arr宣告為一維陣列名(指向int的指標)

// n - 矩陣的階數

// g - 要構造出來的鄰接矩陣資料結構

void arraytomat(int *arr, int n, mgraph &g);

void prim(mgraph g,int v);

#include "top.h"

void arraytomat(int *arr, int n, mgraph &g)

{ int i,j,count=0; //count用於統計邊數,即矩陣中非0元素個數

知識點總結:

prim演算法的原理是首先要選取乙個頂點,依據頂點到邊權值最小的原則選取下乙個頂點,注意在此期間不能構成環,否則就不是最小生成樹。

學習心得:

思考時要動起手來,手腦並用可能會產生意想不到的結果。

第十三周 prim 演算法

檔名稱 專案.cbp 作 者 紀冬雪 完成日期 2015年12月13日 版 本 號 v1.0 問題描述 prim演算法 輸入描述 無 程式輸出 最小生成樹 ifndef graph h included define graph h included define maxv 100 最大頂點個數 d...

第十三周 prim演算法

問題描述 prim演算法 程式輸出 最小生成樹 ifndef graph h included define graph h included define maxv 100 最大頂點個數 define inf 32767 inf表示 typedef int infotype 以下定義鄰接矩陣型別 ...

第十三周專案一 Prim演算法的驗證

問題及 煙台大學計算機與控制工程學院 作 者 肖博文 完成日期 2016年11月24日 問題描述 驗證最小生成樹的普里姆演算法 graph.h include include define maxv 100 最大頂點個數 define inf 32767 inf表示 typedef int info...