




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實 驗 報 告學院: 計算機科學學院 專業: 計算機應用 2012年12月15 日姓 名程咬金學 級計應2班指導老師孔子課程名稱數據結構成績實驗名稱圖的存儲結構和遍歷1實驗目的掌握圖的兩種存儲結構,鄰接矩陣存儲法和鄰接表存儲法了解圖的兩種存儲結構的實現過程掌握圖的深度優先遍歷和廣度優先遍歷的方法了解圖的深度優先遍歷和廣度優先遍歷的實現過程2實驗內容1. 采用圖的鄰接矩陣存儲方法,畫出上圖的鄰接矩陣2. 采用圖的鄰接表存儲方法,畫出上圖的鄰接表結構3. 基于第2題的鄰接表,寫出圖的深度優先遍歷序列和廣度優先遍歷序列4. 運行程序Graph.cpp,了解圖的存儲方法和遍
2、歷算法的實現過程3實驗環境操作系統: windows 7編譯器:VC+6.04實驗方法和步驟(含設計)要求:正文五號字,行間距:最小值 0磅。段前0.5行,段后0,5行寫出每個題目的解題思路。1. 解題思路:(請寫出無向圖鄰接矩陣公式,并按公式畫出圖對應的鄰接矩陣)鄰接矩陣是表示頂點之間相鄰關系的矩陣,設G=(V,E)是具有n(n>0)個頂點的圖,頂點的順序依次為(v0,v1,vn-1),則G的無向鄰接矩陣A是n階方陣,其定義如下:Aij=鄰接矩陣如下:G= 2.解題思路:(請畫出無向圖對應的鄰接表存儲結構)3.解題思路:(請寫出深度優先遍歷和廣度優先遍歷的算法基本思想,并寫出遍歷序列,
3、無需編寫程序)深度優先搜索遍歷的過程:從圖中某個初始頂點v出發,首先訪問初始頂點V,然后選擇一個與頂點V相鄰且沒有被訪問過的頂點W為初始頂點,在從W出發進行深度優先搜索,直到圖中與當前頂點V相鄰的所有頂點都被訪問過為止,這個過程是遞歸過程。以V1開始深度優先遍歷序列:v1 v2 v3 v5 v4 v6廣度優先搜索遍歷的過程:首先訪問初始點Vi,接著訪問V的所有未被訪問過的鄰接點V1,V2,V3,V4,Vt,然后再按照其次序訪問每一個頂點的所有未被訪問過的鄰接點,以此類推,直到圖中所有和初始點V有路徑相通的頂點都被訪問過為止。以V1為初始點。廣度優先遍歷:v1 v2 v4 v6 v3 v54.(
4、請運行程序,如有可能,請你盡力為代碼寫注釋。將運行結果寫在實驗報告中。選作:請你自己任意在教材上選取一個無向圖,并在程序中按照你選取的無向圖修改程序,運行程序,觀察輸出的鄰接表結果)5程序及測試結果:#include <stdio.h>#include <stdlib.h>#define MAXV 10typedef structint no;int info;Vertex;typedef structint edgesMAXVMAXV;int n,e;Vertex vexsMAXV;MGraph;void matrix(MGraph &g)g.n=6;int
5、AMAXV=1,2,3,4,5,6;for(int i=0;i<g.n;i+)g.vexsi.no=Ai;g.e=9;int BMAXVMAXV=0,1,0,1,0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,1,0,0,1,1,0,1,1,1,0,0,1,0,0,1,0,0;int j,k;for(j=0;j<g.n;j+)for(k=0;k<g.n;k+)g.edgesjk=Bjk;printf("%2d",g.edgesjk);printf(" ");printf("n");typedef stru
6、ct ANodeint adjvex;struct ANode *nextarc;int info;ArcNode;typedef struct VNodeVertex data;ArcNode *firstarc;VNode;typedef VNode AdjListMAXV;typedef structAdjList adjlist;int n,e;ALGraph;void MatToList(MGraph g,ALGraph *&G)int i,j,n=g.n;ArcNode *p;G=(ALGraph*)malloc(sizeof(ALGraph);for(i=0;i<n
7、;i+)G->adjlisti.data.no=g.vexsi.no;G->adjlisti.firstarc=NULL;for(i=0;i<n;i+)for(j=n-1;j>=0;j-)if(g.edgesij!=0)p=(ArcNode*)malloc(sizeof(ArcNode);p->adjvex=j+1;p->nextarc=G->adjlisti.firstarc;G->adjlisti.firstarc=p;G->n=n;G->e=g.e;void displayALGraph(ALGraph* g)int i;for
8、(i=0;i<g->n;i+)printf("%d: ",g->adjlisti.data.no);ArcNode* p=g->adjlisti.firstarc;if(p!=NULL)printf("%d ",p->adjvex);p=p->nextarc;while(p!=NULL)printf("%d ",p->adjvex);p=p->nextarc;printf("n");void main()MGraph g1;matrix(g1);ALGraph* g2;MatToList(g1,g2);printf("n");displayALGraph(g2);運行結果:6實驗分析與體會 通過本次實驗,使我掌握了圖的兩種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銅基高精密自潤滑軸承項目可行性研究報告
- 人工智能計算芯片研發項目可行性研究報告
- 農作物種子分析實務試題及答案
- 建筑廢棄物消納與環境保護項目可行性研究報告(僅供參考)
- 游泳救生員職業前景展望試題及答案
- 植保員職業資格考試2024年綜合能力測試試題答案
- 城鎮污水管道建設與改造項目可行性研究報告(范文參考)
- 2024年體育經紀人職業資格考試備考試題及答案
- 農作物種子保護措施試題及答案
- 2024年農業植保員職業資格考試的多樣試題及答案
- 2024年浙江公路技師學院招聘筆試真題
- 2025年中考語文一輪專題復習:古詩詞曲梳理復習重點整合
- 2025年中學教師資格考試《綜合素質》教育教學能力提升教育政策分析試題(含答案)
- 2025-2030中國菊芋菊粉行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國氯堿行業市場發展分析及發展趨勢預測研究報告
- 資料對外提供管理制度
- 2025-2030中國建筑智能化工程行業市場發展分析及發展趨勢前景研究報告
- 呵護地球家園點亮綠色希望-2025年4月22日第56個世界地球日主題教育班會 高中主題班會優 質課件
- 網絡安全問題及其防范措施(基礎篇)-國家計算機網絡應急中心
- 橋隧工技能鑒定理論資源高級技師模擬考試題含答案
- 2025-2030中國5G基站建設情況及前景趨勢與投資研究報告
評論
0/150
提交評論