* 檔名稱:main.cpp,btree.h,btree.cpp
* 版本號:code ::block 12.11
* 問題描述:
(1)prim演算法的驗證(使用圖1作為測試用例)
標頭檔案:
#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 arraytolist(int *arr, int n, algraph *&); //用普通陣列構造圖的鄰接表
void mattolist(mgraph g,algraph *&g);//將鄰接矩陣g轉換成鄰接表g
void listtomat(algraph *g,mgraph &g);//將鄰接表g轉換成鄰接矩陣g
void dispmat(mgraph g);//輸出鄰接矩陣g
void dispadj(algraph *g);//輸出鄰接表g
#include #include #include "graph.h"
//功能:由乙個反映圖中頂點鄰接關係的二維陣列,構造出用鄰接矩陣儲存的圖
//引數:arr - 陣列名,由於形式引數為二維陣列時必須給出每行的元素個數,在此將引數arr宣告為一維陣列名(指向int的指標)
// n - 矩陣的階數
// g - 要構造出來的鄰接矩陣資料結構
void arraytomat(int *arr, int n, mgraph &g)
g->e=count;
}void mattolist(mgraph g, algraph *&g)
//將鄰接矩陣g轉換成鄰接表g
g->n=g.n;
g->e=g.e;
}void listtomat(algraph *g,mgraph &g)
//將鄰接表g轉換成鄰接矩陣g
}}void dispmat(mgraph g)
//輸出鄰接矩陣g
printf("\n");}}
#include #include #include "graph.h"
void prim(mgraph g,int v)
{ int lowcost[maxv]; //頂點i是否在u中
int min;
int closest[maxv],i,j,k;
for (i=0; i
結果:
第十三周專案 驗證演算法(3)
程式 檔名稱 1.cpp 完成日期 2016年12月1日 版本號 vc6.0 問題描述 dijkstra演算法的驗證 輸入描述 無 程式輸出 測試結果 include include include graph.h define maxsize 100 void ppath int path,int...
第十三周 專案一 驗證演算法
煙台大學計算機學院 完成日期 2017 11 28 問題描述 1.折半查詢 2.分塊查詢 3.二叉排序樹 1.include typedef int keytype typedef char infotype typedef struct rectype int binsearch rectype ...
第十三周專案 演算法驗證(2)
作 者 張行 完成日期 2017年12月30日 版 本 號 v1.0 問題描述 1 dijkstra演算法的驗證 2 floyd演算法驗證 3 拓撲排序演算法驗證 結果顯示 如圖所示 main.cpp include include include graph.h define maxsize 10...