鄰接矩陣 鄰接表的遍歷方法

2021-08-07 10:49:07 字數 1823 閱讀 9859

根據大話資料結構整理

/**********************************

*輸入:鄰接矩陣vmatrix/鄰接表vlist, 頂點表vnode

*輸出:遍歷vva元素

***********************************/

#include

#include

#include

using

namespace

std;

#define inf 5000

/*******鄰接矩陣深度優先遍歷****************/

void dfsmatrix(vector

> &vvedge, vector

&vnode,

vector

&visit, int i)

void dfsadjmatrix(vector

> &vvedge, vector

&vnode)

/*******鄰接表深度優先遍歷****************/

void dfslist(vector

> &vvedge, vector

&vnode,

vector

&visit, int i)

return;

}void dfsadjlist(vector

> &vvedge, vector

&vnode)

/**********鄰接矩陣廣度優先遍歷******************/

void bfsadjmatrix(vector

> &vvedge, vector

&vnode)}}

}}cout

<< endl;

return;

}/**********鄰接表廣度優先遍歷******************/

void bfsadjlist(vector

> &vvedge, vector

&vnode)}}

}}cout

<< endl;

return;

}/*********主函式****************/

int main()

/////for (int i = 0; i < vlist.size(); i++)

/////

cout

<< "鄰接矩陣深度優先遍歷:"

<< endl;

dfsadjmatrix(vmatrix, v);

cout

<< "鄰接表深度優先遍歷:"

<< endl;

dfsadjlist(vlist, v);

cout

<< "鄰接矩陣廣度優先遍歷:"

<< endl;

bfsadjmatrix(vmatrix, v);

cout

<< "鄰接表廣度優先遍歷:"

<< endl;

bfsadjlist(vlist, v);

return0;}

/*case:頂點數n,n個頂點的編號;邊數m,m條邊*//*9

鄰接表轉鄰接矩陣

假設無向圖g採用鄰接矩陣儲存,編寫乙個演算法輸出鄰接表。description 第一行為乙個 整數n,表示頂點的個數 頂點 編號為0到n 1 接下來是為乙個n n大小的 整數矩陣,表示圖的鄰接關係。數字為0表示不鄰接,1表示鄰接。input 輸出圖g的鄰接表。第一行表示頂點0可直接到達的 頂點編號。...

鄰接矩陣與鄰接表

鄰接矩陣表示圖 public class graph private int vertexnum private int edgenum private int g 鄰接矩陣 public graph int vertexnum public void insertedge edge edge pu...

鄰接矩陣 鄰接鍊錶 轉換

include include include graph.h include using namespace std typedef int infotype define maxv 100 最大頂點個數 define inf 32767 inf表示 以下定義鄰接矩陣型別 typedef stru...