日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构【图】—022邻接矩阵的深度和广度遍历

發布時間:2025/3/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构【图】—022邻接矩阵的深度和广度遍历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 #include "000庫函數.h" 2 //無向圖 3 4 typedef char VertexType; /* 頂點類型應由用戶定義 */ 5 typedef int EdgeType; /* 邊上的權值類型應由用戶定義 */ 6 7 #define MAXSIZE 9 /* 存儲空間初始分配量 */ 8 #define MAXEDGE 15 9 #define MAXVEX 9 10 #define INFINITY 65535 11 12 struct MGraph {//臨接矩陣參數 13 VertexType vexs[MAXVEX]; 14 EdgeType arc[MAXVEX][MAXVEX]; 15 int numVertexes, numEdges; 16 }; 17 18 struct Queue {//遍歷表 19 char data;//標號 20 Queue *front;// 21 Queue *rear;// 22 }; 23 //queue鏈表的初始化 24 void InitQueue(Queue **q) { 25 (*q) = new Queue; 26 (*q)->data = 0; 27 (*q)->front = NULL; 28 (*q)->rear = NULL; 29 } 30 31 void CreateMGraph(MGraph **G) { 32 (*G) = new MGraph; 33 (*G)->numEdges = 15; 34 (*G)->numVertexes = 9; 35 /* 讀入頂點信息,建立頂點表 */ 36 (*G)->vexs[0] = 'A'; 37 (*G)->vexs[1] = 'B'; 38 (*G)->vexs[2] = 'C'; 39 (*G)->vexs[3] = 'D'; 40 (*G)->vexs[4] = 'E'; 41 (*G)->vexs[5] = 'F'; 42 (*G)->vexs[6] = 'G'; 43 (*G)->vexs[7] = 'H'; 44 (*G)->vexs[8] = 'I'; 45 46 47 for (int i = 0; i < (*G)->numVertexes; ++i)/* 初始化圖 */ 48 { 49 for (int j = 0; j < (*G)->numVertexes; ++j) 50 { 51 (*G)->arc[i][j] = 0; 52 } 53 } 54 55 (*G)->arc[0][1] = 1; 56 (*G)->arc[0][5] = 1; 57 58 (*G)->arc[1][2] = 1; 59 (*G)->arc[1][8] = 1; 60 (*G)->arc[1][6] = 1; 61 62 (*G)->arc[2][3] = 1; 63 (*G)->arc[2][8] = 1; 64 65 (*G)->arc[3][4] = 1; 66 (*G)->arc[3][7] = 1; 67 (*G)->arc[3][6] = 1; 68 (*G)->arc[3][8] = 1; 69 70 (*G)->arc[4][5] = 1; 71 (*G)->arc[4][7] = 1; 72 73 (*G)->arc[5][6] = 1; 74 75 (*G)->arc[6][7] = 1; 76 77 78 for (int i = 0; i < (*G)->numVertexes; ++i)/* 初始化圖 */ 79 { 80 for (int j = 0; j < (*G)->numVertexes; ++j) 81 { 82 (*G)->arc[j][i] = (*G)->arc[i][j]; 83 } 84 } 85 86 } 87 88 Queue *q;//用來存儲路徑 89 vector<bool>a(MAXVEX, true);//訪問標志 90 void DFS(MGraph *G, int pot) { 91 a[pot] = false;//已經訪問過 92 Queue *p; 93 InitQueue(&p); 94 p->data = G->vexs[pot]; 95 q->rear = p; 96 p->front = q; 97 q = p; 98 for (int i = 0; i < G->numVertexes; ++i) { 99 if (G->arc[pot][i] && a[i]) {//有路 100 DFS(G, i);//遞歸遍歷,編歷到B,就到B中找可行路徑,A中其他的可行路徑以后再遍歷 101 } 102 } 103 } 104 105 void DFSTraverse(MGraph *G) {//深度遍歷 106 InitQueue(&q); 107 Queue *head = q; 108 for (int i = 0; i < G->numVertexes; ++i) { 109 if (a[i])//未訪問過 110 DFS(G, i);//進入回溯 111 } 112 Queue *p = head->rear; 113 while (p) { 114 cout << p->data << " "; 115 p = p->rear; 116 } 117 cout << endl; 118 119 120 } 121 122 123 vector<char> bf; 124 vector<bool>b(MAXVEX, true);//訪問標志 125 deque<int>s; 126 void BFS(MGraph *G, int pot) { 127 s.pop_front();//出棧 128 bf.push_back(G->vexs[pot]); 129 if (bf.size() >= G->numVertexes)return; 130 for (int j = 0; j < G->numVertexes; ++j) { 131 if (G->arc[pot][j] && b[j]) { 132 b[j] = false;//遍歷過 133 s.push_back(j); 134 } 135 } 136 BFS(G, s.front()); 137 } 138 139 void BFSTraverse(MGraph *G) { 140 for (int i = 0; i < G->numVertexes; ++i) { 141 if (b[i]) { 142 s.push_back(i); 143 b[i] = false;//遍歷過 144 BFS(G, s.front()); 145 } 146 } 147 for (auto f : bf) 148 cout << f << " "; 149 cout << endl; 150 } 151 int T022(void) 152 { 153 MGraph *G; 154 CreateMGraph(&G); 155 //printf("\n深度遍歷:"); 156 //DFSTraverse(G); 157 printf("\n廣度遍歷:"); 158 BFSTraverse(G); 159 return 0; 160 }

?

轉載于:https://www.cnblogs.com/zzw1024/p/10567799.html

總結

以上是生活随笔為你收集整理的数据结构【图】—022邻接矩阵的深度和广度遍历的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99re6热在线精品视频播放 | 亚洲中文字幕第一区 | 九久久 | 97超碰免费| 久久久这里有精品 | 熟女少妇在线视频播放 | 亚洲人人精品 | jizz处女| 黄色网址在线视频 | 4438全国成人免费 | 日韩精品一区二区三区免费视频 | 四虎国产精品永久在线国在线 | 亚洲一区 欧美 | 91亚洲网站 | 国产一区二区欧美日韩 | 成人学院中文字幕 | 日本久久久久久久久久 | 亚洲综合影院 | 国产精品久久久久久久免费看 | 成人综合网站 | 国产欧美日韩在线视频 | 台湾chinesehdxxxx少妇 | 免费看60分钟黄视频 | 欧美成人福利视频 | 男女ss视频| 日本熟妇毛耸耸xxxxxx | 无码精品国产一区二区三区免费 | 啊v视频在线 | 91九色高潮| 欧美色图自拍 | 人人爽av | 亚洲在线观看一区 | 免费国产黄色片 | 在线观看中文字幕一区 | 久久久一二三 | 国产成人久久婷婷精品流白浆 | 亚洲精品社区 | 超碰男人天堂 | 国产精品久久久久久福利 | 日本丰满熟妇hd | 亚洲区偷拍 | 日本人の夫妇交换 | 亚洲av无码乱码在线观看性色 | 91高跟黑色丝袜呻吟在线观看 | 国产麻豆精品在线观看 | 四虎一区二区三区 | 日韩人妻一区二区三区蜜桃 | 97久久人澡人人添人人爽 | 亚洲人成色777777精品音频 | 欧美成人精品一区二区三区在线观看 | 在线不卡中文字幕 | 在线看黄色网址 | 日本乱偷人妻中文字幕在线 | 亚洲综合色在线 | 欧美久久久久久久久中文字幕 | 99热这里只有精品在线观看 | 五月丁香综合激情六月久久 | 精品一卡二卡三卡 | 在线观看av一区 | 成人精品在线播放 | 亚洲欧美中文日韩在线观看 | 手机在线看片你懂的 | 国产一二三 | 蜜桃av免费 | 亚洲91av| 午夜刺激视频 | 天堂网视频 | 亚洲色图一区二区三区 | 超碰人体 | 亚洲国产精品久久精品怡红院 | 国内成人综合 | 人人妻人人做人人爽 | 中文在线资源天堂 | 五月天丁香婷 | 青草伊人网 | 美女裸体网站久久久 | 久久精品久久精品久久精品 | 黄色日b片 | 名校风暴在线观看免费高清完整 | 手机看片日本 | 亚洲综合五月天婷婷丁香 | 午夜电影一区二区 | 精品人妻天天爽夜夜爽视频 | 国产一级一级片 | 日韩综合在线视频 | 暗呦丨小u女国产精品 | 成人爽爽爽 | 久热国产精品视频 | 在线观看中文字幕码 | 成人精品一区二区三区四区 | 欧美激情一区二区三区四区 | 极品女神无套呻吟啪啪 | 国产一区在线不卡 | 国产免费无码一区二区 | aaaaav| 国产成人a人亚洲精品无码 在线aa | 国产激情久久 | 免费毛片基地 | 女优在线观看 |