




已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
無向圖的深度遍歷實驗報告系別計算機系班級學號姓名課程名稱數據結構實驗日期實驗名稱圖的遍歷成績實驗目的:1.掌握圖的結構特征,以及鄰接矩陣和鄰接表存儲結構的特點和實現。2.掌握在鄰接矩陣或鄰接表存儲結構下圖的深度優(yōu)先和廣度優(yōu)先遍歷算法思想及其程序實現。實驗條件:計算機一臺,Visual C+6.0實驗內容:1. 問題描述以鄰接矩陣或鄰接表為存儲結構,利用深度優(yōu)先搜索算法或廣度優(yōu)先搜索算法遍歷一個無向圖。給出遍歷序列,若該圖不連通,給出其連通分量的個數和各連通分量的遍歷序列。2. 數據結構類型定義采用鄰接矩陣為存儲結構:typedef struct ArcNode int adj;ArcNode;/鄰接矩陣元素的定義typedef struct VertexData vertexMAX_VERTEX_NUM;/為頂點的集合 ArcNode arcsMAX_VERTEX_NUMMAX_VERTEX_NUM; int vexnum,arcnum;/vexnum為頂點數,arcnum為弧數AdjMatrix; /鄰接矩陣的定義3. 模塊劃分(1) 創(chuàng)建一個無向圖以鄰接矩陣為存儲結構:void CreateUDN(AdjMatrix *G)(2) 鄰接矩陣的定位:int LocateVertex(AdjMatrix *G,VertexData v)(3) 深度優(yōu)先遍歷:void DepthFirstSearch(AdjMatrix G,int v)(4) 無向圖的遍歷:void TraverseGraph(AdjMatrix G)(5) 主函數: void main()4. 詳細設計5. #include 6. #include 7. #include8. #define OK 19. #define ERROR 010. #define FALSE 011. #define TRUE 112. #define MAX_VERTEX_NUM 10013. int visitedMAX_VERTEX_NUM;14. typedef int AdjType;15. typedef int VertexData;16. typedef enumDG,DN,UDG,UDNGraphKind;17. typedef struct ArcNode18. AdjType adj;19. ArcNode;20. typedef struct21. VertexData vertexMAX_VERTEX_NUM;22. ArcNode arcsMAX_VERTEX_NUMMAX_VERTEX_NUM;23. int vexnum,arcnum;24. AdjMatrix;25. int LocateVertex(AdjMatrix *G,VertexData v)26. int j=ERROR,k;27. for(k=0;kvexnum;k+)28. if(G-vertexk=v)29. j=k;break;30. return (j);31. 32.33. int GreateUDN(AdjMatrix *G)34. int i,j,k;35. VertexData v1,v2;36. printf(輸入圖的頂點數和弧數:n);37. scanf(%d,%d,&G-vexnum,&G-arcnum);38. getchar();39. for(i=0;ivexnum;i+)40. 41. for(j=0;jvexnum;j+)42. G-arcsij.adj=FALSE;43. 44. printf(輸入圖的頂點:n);45. for(i=0;ivexnum;i+)46. scanf(%d,&G-vertexi);47. 48. for(k=0;karcnum;k+)49. 50. printf(輸入一條弧的兩個頂點:);51. scanf(%d,%d,&v1,&v2);52. getchar();53. i=LocateVertex(G,v1);54. j=LocateVertex(G,v2);55. G-arcsij.adj=1;56. G-arcsji.adj=1;57. 58. return(OK);59. 60.61.62. void DepthFirstSearch(AdjMatrix G,int v)63. int j;64. printf(%d,G.vertexv);65. printf(n);66. visitedv=TRUE;67. for(j=0;jG.vexnum;j+)68. if(!visitedj&G.arcsvj.adj=1)69. DepthFirstSearch(G,j);70. 71. void TraverseGraph(AdjMatrix G)72. int i;73. for(i=0;iG.vexnum;i+) visitedi=FALSE;74. for(i=0;iG.vexnum;i+)75. if(!visitedi) DepthFirstSearch(G,i);76. 77.78. int main()79. int i,j;80. AdjMatrix G;81. GreateUDN(&G);82. printf(此無向圖的深度遍歷為:);83. TraverseGraph(G);84. printf(輸出鄰接矩陣n);85. for(i=0;iG.vexnum;i+)86. 87. for(j=0;jG.vexnum;j+)88. 89. printf(%d ,G.arcsij.adj);90. 91. printf(n);92. return 0;93. 94.95. 測試數據及結果第一組測試: 輸入數據:頂點:1,2 預測結果:輸出結點數據:1,2 輸出鄰接矩陣 0 1 1 0實際結果:第二組測試: 輸入數據:頂點:0,1,2,3,4 預測結果:輸出結點數據:0,1,2,3,4輸出鄰接矩陣 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 1 1 0 實際結果:第三組測試:輸入數據:頂點:0,1,2,3,4 5 6 預測結果:輸出結點數據:0123456輸出鄰接矩陣 0 1 1 1 1 0 0 1 0 1 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030泰國首席技術官蒸餾行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 河北省石家莊市井陘礦區(qū)賈莊鎮(zhèn)區(qū)賈莊中學2025屆化學九年級第一學期期末學業(yè)質量監(jiān)測試題含解析
- 車輛設備研發(fā)、采購、檢測、認證一體化服務合同
- 學習計劃制定與執(zhí)行
- 氫能源與儲能技術的融合發(fā)展研究
- 2025至2030二氧化碳數據記錄器行業(yè)發(fā)展研究與產業(yè)戰(zhàn)略規(guī)劃分析評估報告
- 新興工業(yè)設計領域:AI技術的行業(yè)可行性分析報告
- 教育中創(chuàng)新能力的培養(yǎng)
- 2025至2030塑料鼓行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030氣體洗滌器行業(yè)項目調研及市場前景預測評估報告
- DGJ08-81-2015 現有建筑抗震鑒定與加固規(guī)程
- 房屋租賃合同范本15篇
- 2025至2030年中國飛行控制器行業(yè)市場供需態(tài)勢及未來趨勢研判報告
- 2025年汽車維修工職業(yè)資格考試試卷及答案
- 2025至2030年中國錦氨綸汗布市場分析及競爭策略研究報告
- 2024年江蘇地質局所屬事業(yè)單位招聘考試真題
- 2025年中小學暑假安全教育主題家長會 課件
- 2025年佛山市南海區(qū)圖書館招聘題庫帶答案分析
- 基于學科核心素養(yǎng)的初中化學單元整體教學設計課題研究的階段小結基于學科核心素養(yǎng)的初中化學單元整體教學設計研究
- GB/T 31586.1-2015防護涂料體系對鋼結構的防腐蝕保護涂層附著力/內聚力(破壞強度)的評定和驗收準則第1部分:拉開法試驗
- 史上最全最權威婦產科icd編碼培訓【版】課件
評論
0/150
提交評論