版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二節(jié)圖的存儲結(jié)構(gòu)當(dāng)前講授對于具有n個頂點(diǎn)的圖,最常采用的存儲方法有鄰接矩陣存儲方法與鄰接表存儲方法。一、鄰接矩陣表示法1、鄰接矩陣設(shè)G=(V,E)是具有n個頂點(diǎn)的圖,則G的鄰接矩陣是具有如下定義的n階方陣:【例】2、采用鄰接矩陣存儲方法具有以下特點(diǎn):①無向圖的鄰接矩陣一定是一個對稱矩陣。因此,按照壓縮存儲的思想,在具體存放鄰接矩陣時只需存放上(或者下)三角形陣的元素即可。②不帶權(quán)的有向圖的鄰接矩陣一般來說是一個稀疏矩陣(特別是對于稀疏圖),于是可以采用三元組表的方法存儲鄰接矩陣。③對于無向圖,鄰接矩陣的第i行(或者第i列)非零元素(或者非∞元素)的個數(shù)正好是第i個頂點(diǎn)的度D(Vi)。④對于有向圖,鄰接矩陣的第i行(或者第i列)非零元素(或者非∞元素)的個數(shù)正好是第i個頂點(diǎn)的出度OD(Vi)(或者入度ID(Vi))。⑤對于無向圖,鄰接矩陣的所有非零元素(或者非∞元素)的個數(shù)正好是邊數(shù)的2倍。⑥對于有向圖,鄰接矩陣的所有非零元素(或者非∞元素)的個數(shù)正好等于弧數(shù)。⑦一個圖的鄰接矩陣表示是唯一的?!菊骖}選解】(例題?填空題)若無向圖G中有n個頂點(diǎn)m條邊,采用鄰接矩陣存儲,則該矩陣中非0元素的個數(shù)為___________。隱藏答案【答案】2m【解析】對于無向圖,鄰接矩陣的所有非零元素的個數(shù)正好是邊數(shù)的2倍。3、鄰接矩陣表示的存儲結(jié)構(gòu)定義#defineMaxVertexNum50//最大頂點(diǎn)數(shù)typedefStruct{vertexTvpevexs[MaxVertexNum];//頂點(diǎn)數(shù)組,類型假定為char型Adjmstrixarcs[MaxVertexNum][MaxVertexNum];//鄰接矩陣,假定為int型}MGraph;4、建立一個無向網(wǎng)的算法【算法描述】VoidCreateMGraph(MGraph*G,intn,inte){//采用鄰接矩陣表示法構(gòu)造無向網(wǎng)G,n、e表示圖的當(dāng)前頂點(diǎn)數(shù)和邊數(shù)inti,j,k,w;scanf("%d,%d",&n,&e);//讀入頂點(diǎn)數(shù)和邊數(shù)for(i=0;i<n;i++)//輸入頂點(diǎn)信息scanf("%c",&G->vexs[i]);for(i=0;i<n;i++)for(j=0;j<n;j++)G->arcs[i][j]=INT_MAX;//初始化鄰接矩陣元素為無窮大,一般填32767for(k=0;k<e;k++)//讀入e條邊,建立鄰接矩陣//讀入一條邊的兩端頂點(diǎn)序號i、j及邊上的權(quán)W{scanf("%d,%d,%d",&i,&j,&w);G->arcs[i][j]=w;G->arcs[j][i]=w;//置矩陣對稱元素權(quán)值}}算法的時間復(fù)雜度O(n2)二、鄰接表表示法1、鄰接表對于具有n個頂點(diǎn)的圖建立n個線性鏈表。每一個鏈表最前面都分別設(shè)置一個稱之為頂點(diǎn)表結(jié)點(diǎn),n個頂點(diǎn)構(gòu)成一個數(shù)組結(jié)構(gòu)。第i個鏈表中的每一個鏈結(jié)點(diǎn)稱之為邊表結(jié)點(diǎn)?!纠?、采用鄰接表存儲方法具有以下特點(diǎn):①一個圖的鄰接表表示法不唯一,這是因?yàn)猷徑颖碇懈鹘Y(jié)點(diǎn)的鏈接次序取決于建立鄰接表的算法(前插法還是后插法建鏈表)及邊的輸入次序。②對于無向圖,若它有n個頂點(diǎn),e條邊,則其鄰接表中需要2e+n個結(jié)點(diǎn)。其中有2e個邊表結(jié)點(diǎn),n個頂點(diǎn)表結(jié)點(diǎn)。邊表結(jié)點(diǎn)的個數(shù)一定是偶數(shù),為邊數(shù)的2倍。③對于有向圖,若它有n個頂點(diǎn),e條邊,則其鄰接表中需要e+n個結(jié)點(diǎn)。其中有e個邊表結(jié)點(diǎn),n個頂點(diǎn)表結(jié)點(diǎn)。④對于無向圖,第i個鏈表中的邊表結(jié)點(diǎn)的數(shù)目是第i個頂點(diǎn)的度。⑤對于有向圖,第i個鏈表中的邊表結(jié)點(diǎn)的數(shù)目是第i個頂點(diǎn)的出度。在其逆鄰接表中,第i個鏈表中的邊表結(jié)點(diǎn)的數(shù)目是第i個頂點(diǎn)的入度。3、圖的鄰接表存儲結(jié)構(gòu)定義#defineMaxVertexNum20typedefcharVertexType;typedefstructnode//邊表結(jié)點(diǎn)類型{intadjvexj//頂點(diǎn)的序號structnode*next;//指向下一條邊的指針}EdgeNode;typedefstructvnode//頂點(diǎn)表結(jié)點(diǎn){VertexTypevertex;//頂點(diǎn)域EdgeNode*link;//邊表頭指針}VNode,Adjlist[MaxVertexNum];//鄰接表typedefAdjlistALGraph;//定義為圖類型4、無向圖鄰接表的建表算法:voidCreateGraph(ALGraphGL,intn,inte){//n為頂點(diǎn)數(shù),e為圖的邊數(shù)inti,j,k;EdgeNode*p;for(i=0;i<n;i++)//建立頂點(diǎn)表{GL[i].vertex=getchar();//讀入頂點(diǎn)信息GL[i].1ink=NULL;//邊表頭指針置空}for(k=0;k<e;k++)//采用頭插法建立每個頂點(diǎn)的鄰接表{scanf("%d,%d",&i,&j);//讀入邊(vi,vj)的頂點(diǎn)序號p=(EdgeNode*)malloc(sizeof(EdgeNode));//生成新的邊表結(jié)點(diǎn)p->adjvex=j;//將鄰接點(diǎn)序號j賦給新結(jié)點(diǎn)的鄰接點(diǎn)域p->next=GL[i].1ink;GL[i].1ink=p;//將新結(jié)點(diǎn)插入到頂點(diǎn)vi的邊表頭部p=(EdgeNode*)malloc(sizeof(EdgeNode));//生成新的邊表結(jié)點(diǎn)p->adj.vex=i;//將鄰接點(diǎn)序號i賦給新結(jié)點(diǎn)的鄰接點(diǎn)域p->next=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝潢美術(shù)設(shè)計師操作知識競賽考核試卷含答案
- 硫漂工安全宣教知識考核試卷含答案
- 2025年獨(dú)立運(yùn)行村用風(fēng)力發(fā)電機(jī)組項(xiàng)目發(fā)展計劃
- 2025年石油鉆采機(jī)械項(xiàng)目發(fā)展計劃
- 2025年金屬冶煉加工項(xiàng)目發(fā)展計劃
- 2025年光伏發(fā)電用控制器項(xiàng)目發(fā)展計劃
- 2025年電子裝聯(lián)專用設(shè)備合作協(xié)議書
- 2026年液相色譜-質(zhì)譜聯(lián)用儀(LC-MS)項(xiàng)目建議書
- 2025年江蘇省南通市中考化學(xué)真題卷含答案解析
- 喬木栽植施工工藝
- 感染性心內(nèi)膜炎護(hù)理查房
- 導(dǎo)管相關(guān)皮膚損傷患者的護(hù)理 2
- 審計數(shù)據(jù)管理辦法
- 2025國開《中國古代文學(xué)(下)》形考任務(wù)1234答案
- 研發(fā)公司安全管理制度
- 兒童口腔診療行為管理學(xué)
- 瓷磚樣品發(fā)放管理制度
- 北京市2025學(xué)年高二(上)第一次普通高中學(xué)業(yè)水平合格性考試物理試題(原卷版)
- 短文魯迅閱讀題目及答案
- 肺部感染中醫(yī)護(hù)理
- 臨床研究質(zhì)量控制措施與方案
評論
0/150
提交評論