




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
圖的鄰接矩陣和鄰接表相互轉(zhuǎn)換圖的鄰接矩陣存儲(chǔ)方法具有如下幾個(gè)特征:1)無向圖的鄰接矩陣一定是一個(gè)對(duì)稱矩陣。2)對(duì)于無向圖的鄰接矩陣的第i行非零元素的個(gè)數(shù)正好是第i個(gè)頂點(diǎn)的度。3)對(duì)于有向圖,鄰接矩陣的第i行非零元素的個(gè)數(shù)正好是第i個(gè)頂點(diǎn)的出度(或入度)。4)用鄰接矩陣方法存儲(chǔ)圖,很容易確定圖中任意兩個(gè)頂點(diǎn)之間是否有邊相連;但是,要確定圖中有多少條邊,則必須按行、按列對(duì)每個(gè)元素進(jìn)行檢測(cè),所發(fā)費(fèi)得時(shí)間代價(jià)大。鄰接表是圖的一種順序存儲(chǔ)與鏈?zhǔn)酱鎯?chǔ)相結(jié)合的存儲(chǔ)方法。若無向圖中有n個(gè)頂點(diǎn)、e條邊,則它的鄰接表需n個(gè)頭結(jié)點(diǎn)和2e個(gè)表結(jié)點(diǎn)。顯然,在邊稀疏的情況下,用鄰接表表示圖比鄰接矩陣存儲(chǔ)空間。在無向圖的鄰接表中,頂點(diǎn)的度恰好是第i個(gè)鏈表中的結(jié)點(diǎn)數(shù),而在有向圖中,第i個(gè)鏈表中結(jié)點(diǎn)個(gè)數(shù)是頂點(diǎn)的出度。在建立鄰接表或鄰逆接表時(shí),若輸入的頂點(diǎn)信息即為頂點(diǎn)的編號(hào),則建立臨接表的時(shí)間復(fù)雜度是;否則,需要通過查找才能得到頂點(diǎn)在圖中位置,則時(shí)間復(fù)雜度為。在鄰接表上容易找到任意一頂點(diǎn)的第一個(gè)鄰接點(diǎn)和下一個(gè)鄰接點(diǎn),但要判斷任意兩個(gè)頂點(diǎn)之間是否有邊或弧,則需要搜索第i個(gè)或第j個(gè)鏈表,因此,不及鄰接矩陣方便。鄰接矩陣和鄰接表相互轉(zhuǎn)換程序代碼如下:#include#define MAX 20/圖的鄰接表存儲(chǔ)表示typedef struct ArcNodeint adjvex; /弧的鄰接定點(diǎn)char info; /鄰接點(diǎn)值struct ArcNode *nextarc; /指向下一條弧的指針ArcNode;typedef struct Vnode /節(jié)點(diǎn)信息char data;ArcNode *link;Vnode,AdjListMAX;typedef struct AdjList vertices; int vexnum; /節(jié)點(diǎn)數(shù)int arcnum; /邊數(shù)ALGraph;/圖的鄰接矩陣存儲(chǔ)表示typedef struct int n; /頂點(diǎn)個(gè)數(shù)char vexsMAX; /定點(diǎn)信息int arcsMAXMAX; /邊信息矩陣AdjMatrix;/*_*/函數(shù)名:AdjListToMatrix(AdjList g1,AdjListMatrix &gm,int n)/參數(shù):(傳入)AdjList g1圖的鄰接表,(傳入)int n頂點(diǎn)個(gè)數(shù),(傳出)AdjMatrix gm圖的鄰接矩陣/功能:把圖的鄰接表表示轉(zhuǎn)換成圖的鄰接矩陣表示void AdjListToAdjMatrix(ALGraph gl,AdjMatrix &gm)int i,j,k;ArcNode *p;gm.n=gl.vexnum;for(k=0;kgl.vexnum;k+)gm.vexsk=gl.verticesk.data;for(i=0;iMAX;i+)for(j=0;jMAX;j+)gm.arcsij=0; for(i=0;iadjvex=1;p=p-nextarc; /*_*/函數(shù)名:AdjMatrixToAdjListvoid AdjMatrixToAdjList(AdjMatrix gm,ALGraph &gl)int i,j,k,choice;ArcNode *p;k=0;gl.vexnum=gm.n;coutchoice;for(i=0;igm.n;i+)gl.verticesi.data=gm.vexsi;gl.verticesi.link=NULL;for(i=0;igm.n;i+)for(j=0;jadjvex=j;p-info=gm.vexsj;p-nextarc=gl.verticesi.link;gl.verticesi.link=p; if(choice=1)k=k/2;gl.arcnum=k;void CreateAdjList(ALGraph &G)int i,s,d,choice;ArcNode *p;coutchoice;cout請(qǐng)輸入節(jié)點(diǎn)數(shù)和邊數(shù):G.vexnumG.arcnum;for(i=0;iG.vexnum;i+)cout第iG.verticesi.data;G.verticesi.link=NULL;if(choice=1)for(i=0;i2*(G.vexnum);i+)coutsd;p=new ArcNode;p-adjvex=d;p-info=G.verticesd.data;p-nextarc=G.verticess.link;G.verticess.link=p;elsefor(i=0;iG.vexnum;i+)coutsd;p=new ArcNode;p-adjvex=d;p-info=G.verticesd.data;p-nextarc=G.verticess.link;G.verticess.link=p;void CreateAdjMatrix(AdjMatrix &M)int i,j,k,choice;coutM.n; cout請(qǐng)輸入如頂點(diǎn)信息:endl;for(k=0;kM.vexsk;coutchoice;cout請(qǐng)輸入邊信息:endl;for(i=0;iM.n;i+)for(j=0;jM.n;j+)M.arcsij=0;switch(choice)case 1:for(k=0;kij;M.arcsij=M.arcsji=1; ;break;case 2:for(k=0;kij;M.arcsij=1; ;break;void OutPutAdjList(ALGraph &G)int i;ArcNode *p;cout圖的鄰接表如下:endl;for(i=0;iG.vexnum;i+)coutG.verticesi.data;p=G.verticesi.link;while(p!=NULL)cout(adjvex infonextarc;coutendl;void OutPutAdjMatrix(AdjMatrix gm)cout圖的鄰接矩陣如下:endl;for(int i=0;igm.n;i+)for(int j=0;jgm.n;j+)coutgm.arcsij;coutendl;void main()ALGraph gl1,gl2;AdjMatrix gm1,gm2;CreateAdjList(gl1);AdjListToAdjMatrix(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年茶藝師職業(yè)技能鑒定理論試卷(茶藝師職業(yè)培訓(xùn)師資培訓(xùn)報(bào)告)
- 2025年電梯安裝改造維修作業(yè)特種作業(yè)操作證考試試卷(電梯安全)事故案例分析
- 低碳城市案例研究:2025年城市規(guī)劃與城市更新策略
- 帕力亞多駱駝乳粉知識(shí)測(cè)試題
- 2025年基因治療藥物臨床研發(fā)新趨勢(shì):市場(chǎng)前景與產(chǎn)業(yè)布局分析報(bào)告
- 2025年高性能鐵氧體一次磁粉項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 汽車工程原理及技術(shù)案例分析題
- 2025年防雷工程項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 金融大數(shù)據(jù)在反欺詐中的機(jī)器學(xué)習(xí)應(yīng)用報(bào)告2025
- 2025年社交媒體平臺(tái)文化影響力報(bào)告:熱點(diǎn)事件與輿論引導(dǎo)效應(yīng)
- 中藥飲片標(biāo)簽管理規(guī)定
- 集裝箱堆場(chǎng)事故應(yīng)急預(yù)案方案
- 計(jì)算機(jī)網(wǎng)絡(luò)與信息安全-習(xí)題參考答案
- 2024年瓦斯檢查工技能競(jìng)賽理論考試題庫(kù)500題(含答案)
- 2024年寧夏中考數(shù)學(xué)真題含解析
- 企業(yè)信息化建設(shè)與管理咨詢合同
- 部編版六年級(jí)下冊(cè)道德與法治全冊(cè)教案教學(xué)設(shè)計(jì)
- 國(guó)家開放大學(xué)電大《基礎(chǔ)寫作》期末題庫(kù)及答案
- 2025年中考作文試題預(yù)測(cè)及范文
- 河南省鄭州2023-2024學(xué)年八年級(jí)下學(xué)期期末模擬-英語試卷(含解析)
- 法院婚內(nèi)財(cái)產(chǎn)協(xié)議書模板
評(píng)論
0/150
提交評(píng)論