缺點
//
// created by carso on 2020/3/14.
//#ifndef c___grapmatrix_h
#define c___grapmatrix_h
#include #include #include // 定義頂點
templatestruct vertex
};// 定義邊
templatestruct edge
};// 定義鄰接矩陣
templateclass graphmatrix : public graph
// 析構函式
~graphmatrix()
delete v[i];}}
// 頂點操作
// 返回特定頂點的資料
virtual tv &vertex(int i)
// 入度
virtual int indegree(int i)
// 出度
virtual int outdegree(int i)
// 首個鄰接頂點
virtual int firstnbr(int i)
// 下乙個鄰接頂點, 注意不包含下標j
virtual int nextnbr(int i, int j)
return j;
}// 狀態
virtual vstatus &status(int i)
// 時間標籤
virtual int &dtime(int i)
virtual int &ftime(int i)
// 在遍歷樹中父節點
virtual int &parent(int i)
// 遍歷樹中的優先順序
virtual int &priority(int i)
// 頂點動態操作
// 插入頂點,返回編號
virtual int insert(tv const &vertex)
// 總頂點數+1
n++;
// 建立新邊
vector < edge* > newedgepoint = new vector(n, n, (edge*) null);
e.insert(newedgepoint);
// 頂點向量增加乙個頂點
return v.insert(vertex(vertex));
}// 刪除頂點和關聯邊
virtual tv remove(int i)
}e.remove(i);
n--;
// 刪除頂點
tv vbak = v.remove(i);
// 刪除所有的入邊
for (int k = 0; k < n; ++k)
}return vbak;
}// 邊操作
// 邊(i,j)是否存在
virtual bool exists(int i, int j)
// 邊的型別
virtual etype &type(int i, int j)
// 邊的資料
virtual te &edge(int i, int j)
// 邊的權重
virtual int &weight(int i, int j)
// 插入操作
virtual void insert(te const &edge, int w, int i, int j)
// 建立新邊
e[i][j] = new edge(edge, w);
e++;
v[i].outdegree++;
v[j].indegree++;
}// 邊刪除操作
virtual te remove(int i, int j)
te edge = edge(i, j);
// 刪除邊
delete e[i][j];
// 維持空邊
e[i][j] = null;
// 出度入度
v[i].outdegree--;
v[j].indegree--;
// 邊數
e--;
return edge;
}};#endif //c___grapmatrix_h
Dijkstra 鄰接矩陣實現
dijkstra使用鄰接矩陣儲存圖對比於鄰接表,會佔據大量記憶體,但通常此類題目不會卡記憶體。鄰接矩陣表示的有向圖的dijkstra 單源最短路徑 演算法 頂點節點編號預設範圍為 0,n 1 即n個頂點編號不允許取到n includeusing namespace std define inf 0x...
dj的鄰接矩陣實現
include using namespace std const int maxn 100,bignum 100001 int g maxn maxn dis maxn t maxn siz bool state maxn void creat int k for int i 0 i siz i ...
鄰接矩陣實現Prim演算法
prim是尋找最小生成樹的演算法,本文利用鄰接矩陣,乙個比較方便的方式來進行prim演算法。鄰接矩陣是儲存有向或無向圖的方式,若不帶權,一般用 0 或 inf 表示未連線,用 1 表示連線。如果帶權,可以用乙個矩陣來表示,1是未連線,若連線,則數值等於權值 也可以用兩個矩陣分別表示連線情況和權值。本...