數(shù)據(jù)結(jié)構(gòu)圖的實際應(yīng)用 數(shù)據(jù)結(jié)構(gòu)問題,什么是有向圖和無向圖?
數(shù)據(jù)結(jié)構(gòu)問題,什么是有向圖和無向圖?有向圖的邊有一個方向,由指示方向的箭頭表示。節(jié)點只能單向通信或傳遞消息,這相當(dāng)于單向街道。無向圖的邊沒有方向,是雙向的。由一條邊連接的兩個節(jié)點可以雙向通信,這類似于
數(shù)據(jù)結(jié)構(gòu)問題,什么是有向圖和無向圖?
有向圖的邊有一個方向,由指示方向的箭頭表示。節(jié)點只能單向通信或傳遞消息,這相當(dāng)于單向街道。無向圖的邊沒有方向,是雙向的。由一條邊連接的兩個節(jié)點可以雙向通信,這類似于雙向街道
~]//在鄰接表中存儲的無向圖G中,刪除邊(I,J)void Deletedge(adjlist G,int I,J){//刪除邊(I,J)P=G[I]。Firstarc pre=null//刪除頂點I的邊節(jié)點(I,J)。pre是前導(dǎo)指針,而(P)if(P->adjvex==J){if(pre==null)g[I]。Firstarc=P->next else pre->next free(P)//釋放節(jié)點空間}else{pre=P,P=P->next//沿列表繼續(xù)搜索}//刪除頂點J Firstacc pre=null while(P)if(P->adjvex==I){if(pre==null)g[J]。Firstacc=P->next else pre->next=P->next free(P)//釋放節(jié)點空間}else{pre=P P->next//繼續(xù)沿鏈表查找}}//deletedge
0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 001 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01從頂點1通過深度優(yōu)先搜索獲得的頂點序列1,2,7,6,4,5,3,以及從頂點1通過寬度優(yōu)先搜索獲得的頂點序列1,2,3,4,5,7,6