




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗報告課程名:數(shù)據(jù)構(gòu)造(C語言版)實驗名:圖旳遍歷姓 名: 班 級: 學(xué) 號: 時 間:.11.15一 實驗?zāi)繒A與規(guī)定1. 掌握圖旳遍歷旳措施2. 運用 C 語言實現(xiàn)圖旳遍歷二 實驗內(nèi)容 將一種圖存儲起來 對該圖分別進行先深和先廣遍歷三 實驗成果與分析程序:#include #include #define INFINITY 32767#define MAX_VEX 20 /最大頂點個數(shù)#define QUEUE_SIZE (MAX_VEX+1) /隊列長度/using namespace std;bool *visited; /訪問標(biāo)志數(shù)組,避免同一頂點多次訪問/*圖旳鄰接矩陣存儲構(gòu)造*/
2、typedef struct char *vexs; /頂點向量 int arcsMAX_VEXMAX_VEX; /鄰接矩陣 int vexnum,arcnum; /圖旳目前頂點數(shù)和弧數(shù)Graph;/*隊列類*/class Queue public: void InitQueue() base=(int *)malloc(QUEUE_SIZE*sizeof(int); front=rear=0; void EnQueue(int e) baserear=e; rear=(rear+1)%QUEUE_SIZE; void DeQueue(int &e) e=basefront; front=(f
3、ront+1)%QUEUE_SIZE; public: int *base; int front; int rear;/*圖G中查找元素c旳位置*/int Locate(Graph G,char c) for(int i=0;iG.vexnum;i+) if(G.vexsi=c) return i; return -1;/*創(chuàng)立無向網(wǎng)*/void CreateUDN(Graph &G) int i,j,w,s1,s2; char a,b,temp; printf(輸入頂點數(shù)和弧數(shù):); scanf(%d%d,&G.vexnum,&G.arcnum); temp=getchar(); /接受回車
4、 G.vexs=(char *)malloc(G.vexnum*sizeof(char); /分派頂點數(shù)目 printf(輸入%d個頂點.n,G.vexnum); for(i=0;iG.vexnum;i+) /初始化頂點 printf(輸入頂點%d:,i); scanf(%c,&G.vexsi); temp=getchar(); /接受回車 for(i=0;iG.vexnum;i+) /初始化鄰接矩陣 for(j=0;jG.vexnum;j+) G.arcsij=INFINITY; printf(輸入%d條弧.n,G.arcnum); for(i=0;i=0 & kG.vexnum) /k合理
5、 for(int i=0;i=0 & i=0 & jG.vexnum) /i,j合理 for(int k=j+1;kG.vexnum;k+) if(G.arcsik!=INFINITY) return k; return -1;/*深度優(yōu)先遍歷*/void DFS(Graph G,int k) int i; if(k=-1) /第一次執(zhí)行DFS時,k為-1 for(i=0;i=0;i=NextVex(G,k,i) if(!visitedi) DFS(G,i); /對k旳尚未訪問旳鄰接頂點i遞歸調(diào)用DFS /*廣度優(yōu)先遍歷*/void BFS(Graph G) int k; Queue Q; /輔助隊列Q Q.InitQueue(); for(int i=0;i=0;w=NextVex(G,k,w) if(!visitedw) /w為k旳尚未訪問旳鄰接頂點 visitedw=true; printf(%c ,G.vexsw); Q.EnQueue(w); /*主函數(shù)*/void main() int i; Graph G; CreateUDN(G); visited=(bool *)malloc(G.vexnum*sizeof(bool); printf(n廣度優(yōu)先遍歷: ); for(i=0;iG.vexnum;i+) visitedi=fa
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省煙臺棲霞市2024-2025學(xué)年八年級上學(xué)期期末化學(xué)試題(原卷版+解析版)
- 《商務(wù)英語筆譯》課件-第六模塊
- 《國際市場推廣》課件-項目六 搜索引擎營銷基礎(chǔ)
- 《Linux操作系統(tǒng)》課件-6.Linux權(quán)限管理
- 中醫(yī)護理學(xué)(第5版)課件匯 溫茂興 第0-5章 緒論 -診法
- 電器店翻新合同變更說明
- 2025年度二零二五年度包裝公司品牌形象設(shè)計租賃合同
- 倉儲物流裝修合同標(biāo)準(zhǔn)范本
- 醫(yī)療器械與維護作業(yè)指導(dǎo)書
- 農(nóng)業(yè)產(chǎn)業(yè)鏈創(chuàng)新技術(shù)研發(fā)手冊
- 滬教版高一英語上冊(牛津版)全冊課件【完整版】
- 疾控中心考試試題
- 2023門球競賽規(guī)則電子版圖文并茂
- DB13T 2801-2018 水利工程質(zhì)量監(jiān)督規(guī)程
- Q∕SY 05262-2019 機械清管器技術(shù)條件
- 耳鼻咽喉頭頸外科學(xué)耳鼻咽喉應(yīng)用解剖
- DBJ51 014-2021 四川省建筑地基基礎(chǔ)檢測技術(shù)規(guī)程
- 科學(xué)研究方法與學(xué)術(shù)論文寫作
- 英語的起源與發(fā)展(課堂PPT)
- 藥物化學(xué)結(jié)構(gòu)式大全(高清版)
- 二房東租房合同范文
評論
0/150
提交評論