




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)---圖的儲(chǔ)存與遍歷
數(shù)據(jù)結(jié)構(gòu)課程實(shí)驗(yàn)報(bào)告學(xué)號(hào):姓名:實(shí)驗(yàn)日期:2016.1.7實(shí)驗(yàn)名稱:圖的存貯與遍歷一、實(shí)驗(yàn)?zāi)康恼莆請(qǐng)D這種復(fù)雜的非線性結(jié)構(gòu)的鄰接矩陣和鄰接表的存儲(chǔ)表示,以及在此兩種常用存儲(chǔ)方式下深度優(yōu)先遍歷(DFS)和廣度優(yōu)先遍歷(BFS)操作的實(shí)現(xiàn)。二、實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)步驟題目1:對(duì)以鄰接矩陣為存儲(chǔ)結(jié)構(gòu)的圖進(jìn)行DFS和BFS遍歷問(wèn)題描述:以鄰接矩陣為圖的存儲(chǔ)結(jié)構(gòu),實(shí)現(xiàn)圖的DFS和BFS遍歷?;疽螅航⒁粋€(gè)圖的鄰接矩陣表示,輸出頂點(diǎn)的一種DFS和BFS序列。測(cè)試數(shù)據(jù):如圖所示V0=V1V4V0=V1V4—,V3TOC\o"1-5"\h\z1 0 0 0 1010101 0 0 0 00 0 0 1 0題目2:對(duì)以鄰接表為存儲(chǔ)結(jié)構(gòu)的圖進(jìn)行DFS和BFS遍歷問(wèn)題描述:以鄰接表為圖的存儲(chǔ)結(jié)構(gòu),實(shí)現(xiàn)圖的DFS和BFS遍歷?;疽螅航⒁粋€(gè)圖的鄰接表存貯,輸出頂點(diǎn)的一種DFS和BFS序列。測(cè)試數(shù)據(jù):如圖所示V0V1V2V3V4三、附錄:在此貼上調(diào)試好的程序。#include<stdio.h>#include<malloc.h>V0V1V2V3V4三、附錄:在此貼上調(diào)試好的程序。#include<stdio.h>#include<malloc.h>#include<string.h>1010343#defineM100typedefstructnode{charvex[M][2];intedge[M][M];intn,e;}Graph;intvisited[M];Graph*Create_Graph(){Graph*GA;intij,k,w;GA=(Graph*)malloc(sizeof(Graph));printf("請(qǐng)輸入矩陣的頂點(diǎn)數(shù)和邊數(shù)(用逗號(hào)隔開):\n");scanf("%d,%d",&GA->n,&GA->e);printf("請(qǐng)輸入矩陣頂點(diǎn)信息:\n");for(i=0;i<GA->n;i++)scanf(''%s'',&(GA->vex[i][0]),&(GA->vex[i][1]));for(i=0;i<GA->n;i++)for(j=0;j<GA->n;j++)GA->edge[i][j]=0;for(k=0;k<GA->e;k++){printf(”請(qǐng)輸入第%4條邊的頂點(diǎn)位置(3)和權(quán)值(用逗號(hào)隔開):”,k+1);scanf("%d,%d,%d",&i,&j,&w);GA->edge[i][j]=w;}return(GA);voiddfs(Graph*GA,intv){inti;printf("%c%c\n",GA->vex[v][0],GA->vex[v][1]);visited[v]=1;for(i=0;i<GA->n;i++)if(GA->edge[v][i]==1&&visited[i]==0)dfs(GA,i);}voidtraver(Graph*GA){inti;for(i=0;i<GA->n;i++)visited[i]=0;for(i=0;i<GA->n;i++)if(visited[i]==0)dfs(GA,i);voidbfS(Graph*GA,intv){intj,kfont=-1,rear=-1;intQ[M];printf("%c%c\nn,GA->vex[v][0],GA->vex[v][1]);visited[v]=1;rear=rear+1;Q[rear]=v;while(front!=rear){front=front+1;k=Q[front];for(j=0;j<GA->n;j++)if(GA->edge[k][j]==1&&visited[j]==0){printf("%c%c\nn,GA->vex[j][0],GA->vex[j][1]);visited[j]=1;rear=rear+1;Q[rear]=j;voidtraver1(Graph*GA){inti;for(i=0;i<64->叫1++)visited[i]=0;for(i=0;i<GA->n;i++)if(visited[i]==0)bfs(GA,i);typedefstructNODE{intadjvex;structNODE*next;}ENode;typedefstructNODE1{charvex[2];ENode*first;}VexNode;typedefstructFS1{VexNodeGL[M];intbian,top;}FS;FS*CreateGL(){FS*kk=(FS*)malloc(sizeof(FS));intilk;ENode*s;printf(“請(qǐng)輸入頂點(diǎn)數(shù)和邊數(shù)(用逗號(hào)隔開):\n");scanf("%d,%d",&kk->top,&kk->bian);printf(“請(qǐng)輸入頂點(diǎn)信息:\n");for(i=0;i<kk->top;i++){scanf("%s'',kk->GL[i].vex);kk->GL[i].first=NULL;}printf(“請(qǐng)輸入邊的信息(ij):\n");for(k=0;k<kk->bian;k++){scanf("\n%d,%d",&i,&j);s=(ENode*)malloc(sizeof(ENode));s->adjvex=j;s->next=kk->GL[i].first;kk->GL[i].first=s;}returnkk;voidDFS(FS*kk,intv){ENode*w; inti;printf("%s\n"jkk->GL[v].vex);visited[v]=1;w=kk->GL[v].first;while(w!=NULL){i=w->adjvex;if(visited[i]==0)DFS(kk,i);w=w->next;}}voidTRAVER(FS*kk){inti;for(i=0;i<kk->top;i++)visited[i]=0;for(i=0;i<kk->top;i++)if(visited[i]==0)DFS(kk,i);}voidBFS(FS*kk,intv){intQ[M],front=-1,rear=-1;ENode*w;inti,k;printf("%s\n",kk->GL[v].vex);visited[v]=1;rear=rear+1;Q[rear]=v;while(front!=rear){front=front+1;k=Q[front];w=kk->GL[k].first;while(w!=NULL){i=w->adjvex;if(visited[i]==0){visited[i]=1;printf(n%s",kk->GL[i].vex);rear=rear+1;Q[rear]=i;}w=w->next;voidTRAVER1(FS*kk){inti;for(i=0;i<kk->top;i++)visited[i]=0;for(i=0;i<kk->top;i++)if(visited[i]==0)BFS(kk,i);}intmain(){inti=0;Graph*p;FS*q;while(i=1){/*建立菜單*/charjz[30]={"1.創(chuàng)建鄰接矩陣”};charjd[30]={"2.鄰接矩陣DFS遍歷“};charjb[30]={"3.鄰接矩陣BFS遍歷”};charbg[30]={"4.創(chuàng)建鄰接表“};charbd[30]={"5.鄰接表DFS遍歷“};charbb[30]={"6.鄰接表BFS遍歷“};chartc[30]={"7.退出”};charmn[30]={"菜單”};intl=strlen(jd);into=strlen(mn);intm,n;printf("\nH);for(m=0;m<=(2*l-o)/2;m++)printf("");
printf("%s”,mn);for(m=0;m<=(2*l-o)/2;m++)printf("");printf("\n");for(m=0;m<=2*l;m++)printf("*");*\n**\n*printf("\n");printf("*%s%s%s*\n**\n*printf("\n");printf("*%s%s%s*\n**\n**\n*%s%s%s*\n*%s*\n"jzjdjb,bg,bd,bb,tc);for(m=0;m<=2*l;m++)printf("*");printf("\n*\n"jzjdjb,bg,bd,bb,tc);for(m=0;m<=2*l;m++)printf("*");printf("\nH);/*選擇功能*/printf(“請(qǐng)輸入所需功能序號(hào):”);scanf("%d",&n);switch(n){p=Create_Graph();break;traver(p);break;traver1(p);break;q=CreateGL();break;TRAVER(q);break;TRAVER1(q);break;return0;default:printf("輸入功能序號(hào)有誤!\n");return0;四、運(yùn)行結(jié)果:在此把運(yùn)行結(jié)果從屏幕上拷下來(lái)貼在此:■oe■曲嗚,E:\Co-nnectloVirtualSystem\5***********************************TOC\o"1-5"\h\z《 ,“津小吟I斤 .一4 2,¥哆回干二間間二 日」? S.芥也回干訃£向二 .4? 4二I建壞受表 -* L.部宗右山,遍歷 =小 小乖拿古〕人遍歷 =中 ".退業(yè) X**沖**沖*+4"<=*+^=**^=*+^+*^^+*4"1=+*我請(qǐng)輸入所需功育婚號(hào):1請(qǐng)輸入矩陣的頂點(diǎn)款和印數(shù)f用逗號(hào)隔開):信輸入矩陣頂點(diǎn)信息V:VI丁二■7:i二.,1I.0.1l.<1II:u.II請(qǐng)輸入第1條邊的頂點(diǎn)位置(Lj)和權(quán)值[用逗號(hào)隔開':請(qǐng)輸?、英上條之內(nèi)塞=位置(i3和三色:用二號(hào)同7n請(qǐng)輸%策恪工的,=笈置兄之中區(qū)值用和松同廠3請(qǐng)瑜飛第禱:七的Ft5置⑴置木應(yīng)值;用匚號(hào)隔尸):請(qǐng)始%第仔運(yùn)勺下點(diǎn),就更玄置和占.值:用桁號(hào)隔尸1:請(qǐng)癰八,打力勺工點(diǎn)不首E.,1I.0.1l.<1II:u.II菜主*:**丈***丈***************************」I子鄰字行.鄰麥比阡二整詞,二.鄰接矩陣BFE遍歷4創(chuàng)建鄰接表.爭(zhēng)造學(xué)山二遍歷.部拿右L人遍歷工退出q:*xx:l:*xx:l:*xx:i:中XX**XH牛:卜^牛半半始半半中1半半半X請(qǐng)輸入所需功自紳號(hào):/VVI「二丁二菜cTOC\o"1-5"\h\z*:kxx**x>=*:kx**:kx**xx**xx+:kx>:**x>:*:kx:<* 1.到遼加舟運(yùn)在 Xt 工卻后百㈢卜■:遍牛 yt ;;.鄰后尹年什?:遍后 y十 二.口|咽汴后五 y* 5,m卜匕六口”-奉+iI m部代表E,”標(biāo)九 ■& 7,^,'1' 、Hs+^+++4=jfc+ak4w|i:+3|?M:++^+++^++^+++^++3k4?fc請(qǐng)輸入所需功冒第號(hào)r3L門\'4…T…*…*…*…卜……1卜……& 1,酬芹曰書三?巾玄司E-二、期」,在T;八TOC\o"1-5"\h\z;5O9*1 ?9E:\ConnerttoVirtuaISyEtem\5.exe ~ □XV2菜單*+4*它¥4=***3KHe****半+4¥叱*>二斗叫:**叱4=*二,白.這部蜜矩拜 ?卜y ",款.虧矩眸址」諦用 r“ 三五反矩陣EF三遍為 上山口.崖印今表 *4 匚Wf條表口了工園P7 卜&圖看表B"迎士 .卜X 二聲l+l 來(lái)*¥+4/叱4*++*i?k4*刊**+44叱*¥吠**+4¥¥請(qǐng)輸入所需功能序號(hào);4請(qǐng)輸入頂點(diǎn)數(shù)和邊數(shù)1用運(yùn)號(hào)隔開十57請(qǐng)輸入頂點(diǎn)信息,VJVI仃匕VI請(qǐng)輸入邊的信息上;n,1二二'.4L1士二4三TOC\o"1-5"\h\z比**北*:4c*土******北******北北*********北*木“ 一日逞邙三矩科_ *X 2.可妄矩陣DF三遍巨 案' *T「圣矩由E強(qiáng)力 「4”回替 .卜x a就格式D”-劇十 來(lái)6,甌效太E.畤稿出 ?卜“ 二退出 /**收*科**:*/*3|O|O|I:*:*/**
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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年證件打印一體機(jī)項(xiàng)目合作計(jì)劃書
- 2025年中石化:石油腦項(xiàng)目合作計(jì)劃書
- 吧臺(tái)設(shè)備轉(zhuǎn)讓合同范例
- 影片拍攝投標(biāo)合同范本
- 農(nóng)業(yè)技能培訓(xùn)合同范本
- 司機(jī)水泥合同范例
- 合同范例新版正版
- 單位綠化施工合同范例
- LED戶外顯示屏廣告位租賃合同范本
- 個(gè)人購(gòu)房合同范本簡(jiǎn)易
- 脾破裂保守治療的護(hù)理
- 煤礦安全質(zhì)量標(biāo)準(zhǔn)化培訓(xùn)課件
- 2024解析:第十七章歐姆定律-基礎(chǔ)練(解析版)
- 【MOOC】電工電子學(xué)-浙江大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 新教材 人教版高中化學(xué)選擇性必修2全冊(cè)各章節(jié)學(xué)案(知識(shí)點(diǎn)考點(diǎn)精講及配套習(xí)題)
- (一模)長(zhǎng)春市2025屆高三質(zhì)量監(jiān)測(cè)(一)生物試卷(含答案)
- DB35T 1036-2023 10kV及以下電力用戶業(yè)擴(kuò)工程技術(shù)規(guī)范
- 《現(xiàn)代家政導(dǎo)論》電子教案 1.1模塊一項(xiàng)目一家政與家政學(xué)認(rèn)知
- 《人工智能通識(shí)教程》(第2版)教學(xué)大綱
- 科研倫理與學(xué)術(shù)規(guī)范-期末考試答案
- 中國(guó)移動(dòng)自智網(wǎng)絡(luò)白皮書(2024) 強(qiáng)化自智網(wǎng)絡(luò)價(jià)值引領(lǐng)加速邁進(jìn)L4級(jí)新階段
評(píng)論
0/150
提交評(píng)論