




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
淮海工學(xué)院計(jì)算機(jī)科學(xué)系實(shí)驗(yàn)報(bào)告書課程名:《數(shù)據(jù)結(jié)構(gòu)》題目:圖形數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)班級(jí):學(xué)號(hào):姓名:評(píng)語(yǔ):評(píng)語(yǔ):成績(jī):指導(dǎo)教師:批閱時(shí)間:年月日《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)報(bào)告 -PAGE1-圖形數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告要求1目的與要求:1)掌握?qǐng)D的鄰接矩陣、鄰接表、十字鏈表、鄰接多重鏈表存儲(chǔ)結(jié)構(gòu)表示及其創(chuàng)建算法的c語(yǔ)言實(shí)現(xiàn);2)掌握?qǐng)D的深度優(yōu)先搜索遍歷算法和圖的廣度優(yōu)先搜索遍歷算法及C語(yǔ)言實(shí)現(xiàn)(預(yù)習(xí));3)按照實(shí)驗(yàn)題目要求獨(dú)立正確地完成實(shí)驗(yàn)內(nèi)容(提交程序清單及相關(guān)實(shí)驗(yàn)數(shù)據(jù)與運(yùn)行結(jié)果);4)認(rèn)真書寫實(shí)驗(yàn)報(bào)告,并按時(shí)提交(第12周周一提交)。2實(shí)驗(yàn)內(nèi)容或題目題目:一、圖形數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)——圖的建立與遍歷。內(nèi)容:使用鄰接矩陣和鄰接表儲(chǔ)表示分別實(shí)現(xiàn)如下給定的圖1和或圖2所示圖的物理存儲(chǔ)結(jié)構(gòu)。在1)所建立的圖形存儲(chǔ)結(jié)構(gòu)上分別實(shí)現(xiàn)深度優(yōu)先搜索遍歷和廣度優(yōu)先搜索遍歷,并給出遍歷結(jié)果(序列)。圖1圖1無(wú)向圖V1V2V4V5V3V7V6V8V1V1V2V4V5V3V7V6V8例2有向圖3實(shí)驗(yàn)步驟與源程序(學(xué)生自己填寫)4測(cè)試數(shù)據(jù)與實(shí)驗(yàn)結(jié)果(可以抓圖粘貼)(學(xué)生自己填寫)5結(jié)果分析與實(shí)驗(yàn)體會(huì)(學(xué)生自己填寫)2.版面格式:(1)各級(jí)標(biāo)題:黑體,小四,段前/段后:6磅(2)正文內(nèi)容:宋體、五號(hào),行間距1.25倍;(3)程序代碼:宋體、五號(hào),單倍行間距;(4)A4紙,上、下、左、右邊距:2厘米注:藍(lán)色字體部分為注釋,正式報(bào)告中將其刪除。舉例:使用鄰接矩陣創(chuàng)建圖形結(jié)構(gòu)本次實(shí)驗(yàn)有向網(wǎng)/*頭文件#include"stdlib.h"#include"stdio.h"#defineMAX_VERTEX_NUM10/*最多頂點(diǎn)個(gè)數(shù)*/#defineINFINITY32768/*表示極大值,即∞*/#defineTrue1#defineFalse0#defineError-1#defineOk1typedefenum{DG,DN,UDG,UDN}GraphKind;/*圖的種類:DG表示有向圖,DN表示有向網(wǎng),UDG表示無(wú)向圖,UDN表示無(wú)向網(wǎng)*/typedefcharVertexData;/*假設(shè)頂點(diǎn)數(shù)據(jù)為字符型*/typedefstructArcNode{ intadj;/*對(duì)于無(wú)權(quán)圖,用1或0表示是否相鄰;對(duì)帶權(quán)圖,則為權(quán)值類型*/}ArcNode;typedefstruct{ VertexDatavexs[MAX_VERTEX_NUM];/*頂點(diǎn)向量*/ ArcNodearcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];/*鄰接矩陣*/ intvexnum,arcnum;/*圖的頂點(diǎn)數(shù)和弧數(shù)*/ GraphKindkind;/*圖的種類標(biāo)志*/}AdjMatrix;/*(AdjacencyMatrixGraph)*/intLocateVertex(AdjMatrix*G,VertexDatav)/*求頂點(diǎn)位置函數(shù)*/{ intj=Error,k; for(k=0;k<G->vexnum;k++) if(G->vexs[k]==v) { j=k; break; } return(j);}頭文件結(jié)束/創(chuàng)建程序如下intCreateDN(AdjMatrix*G)/*創(chuàng)建一個(gè)有向網(wǎng)*/{ inti,j,k,weight; VertexDatav1,v2; printf("輸入圖的弧數(shù)和頂點(diǎn)數(shù)\n"); fflush(stdin);scanf("%d,%d",&G->arcnum,&G->vexnum);/*輸入圖的頂點(diǎn)數(shù)和弧數(shù)*/for(i=0;i<G->vexnum;i++)/*初始化鄰接矩陣*/ for(j=0;j<G->vexnum;j++) G->arcs[i][j].adj=INFINITY;for(i=0;i<G->vexnum;i++)//輸入頂點(diǎn)字符循環(huán) {printf("輸入圖的頂點(diǎn)\n"); fflush(stdin); scanf("%c",&G->vexs[i]);/*輸入圖的頂點(diǎn)*/ } for(k=0;k<G->arcnum;k++) { printf("輸入一條弧的兩個(gè)頂點(diǎn)及權(quán)值\n"); fflush(stdin); scanf("%c,%c,%d",&v1,&v2,&weight);/*輸入一條弧的兩個(gè)頂點(diǎn)及權(quán)值*/ i=LocateVertex(G,v1); j=LocateVertex(G,v2); G->arcs[i][j].adj=weight;/*建立弧*/ } return(Ok);}//深度優(yōu)先搜索遍歷圖—鄰接矩陣voidDepth1(AdjMatrixg1,intvo){ intvj; printf("%c",g1.vexs[vo]); visited[vo]=True; for(vj=0;vj<g1.vexnum1;vj++) if((!visited[vj])&&(g1.arcs[vo][vj].adj==1)) Depth1(g1,vj);}voidBreadth1(AdjMatrixg1,intvo){ intvi,vj; LinkQueueQ; InitQueue(&Q); visited[vo]=True; EnterQueue(&Q,vo); while(!IsEmpty(&Q)) { DeleteQueue(&Q,&vi); printf("%c",g1.vexs[vi]); for(vj=0;vj<g1.vexnum1;vj++) if((!visited[vj])&&(g1.arcs[vi][vj].adj==1)) { visited[vj]=True; EnterQueue(&Q,vj); } }}voidTraverse1(AdjMatrixg1)//鄰接矩陣存儲(chǔ)結(jié)構(gòu)的深度和廣度優(yōu)先搜索遍歷{ intvi; for(vi=0;vi<g1.vexnum1;vi++)//深度遍歷鄰接矩陣 visited[vi]=False; printf("\nTheorderofG1Depth\n"); for(vi=0;vi<g1.vexnum1;vi++) { if(!visited[vi]) { Depth1(g1,vi); printf("\n"); } }//廣度優(yōu)先搜索遍歷——鄰接矩陣 for(vi=0;vi<g1.vexnum1;vi++) visited[vi]=False; print
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)基地領(lǐng)養(yǎng)動(dòng)物合同標(biāo)準(zhǔn)文本
- 關(guān)于社保補(bǔ)充合同標(biāo)準(zhǔn)文本
- 保潔服務(wù)合同8篇
- 傳媒公司與公司合同標(biāo)準(zhǔn)文本
- 共同經(jīng)營(yíng)投資合同標(biāo)準(zhǔn)文本
- 落實(shí)新課程標(biāo)準(zhǔn)的具體措施計(jì)劃
- 學(xué)生興趣小組活動(dòng)計(jì)劃
- 傳幫帶心得體會(huì)【5篇】
- 學(xué)校美術(shù)課程的課外延伸研究計(jì)劃
- 班主任如何開展小組合作學(xué)習(xí)計(jì)劃
- DB15T 2335-2021梭梭造林及管護(hù)技術(shù)規(guī)程
- 《實(shí)驗(yàn)中醫(yī)學(xué)》考核方式
- 2021年嘉會(huì)醫(yī)院ISO15189 形態(tài)學(xué)考核
- 前列腺穿刺技術(shù)
- 礦體井下開采基建工程及采礦投標(biāo)文件
- 人工挖孔樁施工危險(xiǎn)源辨識(shí)與評(píng)價(jià)及應(yīng)對(duì)措施
- 領(lǐng)慧書院-中國(guó)古典禮儀和漢服文化淺析
- 抓住四個(gè)環(huán)節(jié)上好科學(xué)實(shí)驗(yàn)課
- 小學(xué)語(yǔ)文人教課標(biāo)版(部編)三年級(jí)下冊(cè)口語(yǔ)交際:趣味故事會(huì)
- 交通事故上報(bào)、處理流程圖
- 酸堿鹽的通性
評(píng)論
0/150
提交評(píng)論