資料結構可以選擇用前向星的方式儲存乙個圖。
前向星的原理是:把圖拆分為幾個部分:1.用乙個堆疊去儲存節點的最後乙個邊;2用另乙個堆疊儲存節點的最後乙個相關聯的邊;3用乙個堆疊來儲存2中的邊指向的節點,例如 1a2 傳參a 返回節點2.
下邊是**:
struct graph
int edge_size()//返回邊數
int vector_size()//得到節點個數
void expand(int i)//加入節點
} void add(int i,int j)
void delback()
} to.pop_back();
next.pop_back(); }
void clear()
};
前向星的總結
一般的模板 void addedge int u,int v 2.一般的資料 1 22 3 3 41 3 4 11 5 4 53.解析 edge 0 to 2 edge 0 next 1 head 1 0 edge 1 to 3 edge 1 next 1 head 2 1 edge 2 to 4 ...
關於鏈式前向星及其簡單運用
首先來一段網上關於前向星的描述 前向星是一種特殊的邊集陣列,我們把邊集陣列中的每一條邊按照起點從小到大排序,如果起點相同就按照終點從小到大排序,並記錄下以某個點為起點的所有邊在陣列中的起始位置和儲存長度,那麼前向星就構造好了.用len i 來記錄所有以i為起點的邊在陣列中的儲存長度.用head i ...
關於理解鏈式前向星的理解
我們知道儲存圖可以用鄰接表 鄰接矩陣等,但是其占用空間大,比較適合於一些小型圖。當儲存一些大型圖即有很多結點時,我們可以考慮用前向星和鏈式前向星。其中前向星得用到快速排序,其耗費時間稍長,其放在下一回討論。本次著重討論鏈式前向星。鏈式前向星是基於邊集來儲存的。對於一條邊,其起點為v,其終點為u,其權...