/*
* 檔名稱: 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...