圖的深度優先搜尋與廣度優先搜尋

來源:互聯網
上載者:User

標籤:圖的遍曆

無向圖的深度優先搜尋與廣度優先搜尋


#include "stdafx.h"#include<vector>#include<iostream>using namespace std;#define N 9typedef struct{int vexnum, arcnum;char vexs[N];int matirx[N][N];}graph;graph g;int a[N] = { 0 };// 初始化圖資料  // 0---1---2---3---4---5---6---7---8---  // A---B---C---D---E---F---G---H---I---  void initiate_graph(){// A-B, A-D, A-Eg.matirx[0][1] = 1;g.matirx[1][0] = 1;g.matirx[0][3] = 1;g.matirx[3][0] = 1;g.matirx[0][4] = 1;g.matirx[4][0] = 1;// B-C  g.matirx[1][2] = 1;g.matirx[2][1] = 1;// C-F  g.matirx[2][5] = 1;g.matirx[5][2] = 1;// D-E, D-G  g.matirx[3][4] = 1;g.matirx[4][3] = 1;g.matirx[3][6] = 1;g.matirx[6][3] = 1;// E-F, E-H  g.matirx[4][5] = 1;g.matirx[5][4] = 1;g.matirx[4][7] = 1;g.matirx[7][4] = 1;// F-H, F-I  g.matirx[5][7] = 1;g.matirx[7][5] = 1;g.matirx[5][8] = 1;g.matirx[8][5] = 1;// G-H  g.matirx[6][7] = 1;g.matirx[7][6] = 1;// H-I  g.matirx[7][8] = 1;g.matirx[8][7] = 1;}//深度優先搜尋,遞迴實現void DFS(int k){a[k] = 1;//標記為已經訪問過int mm = 0;while (mm < N){if (g.matirx[k][mm] == 1){if (a[mm] != 1){cout << "[" << k << "]" << "[" << mm << "]" << endl;DFS(mm);}}mm++;}}void BFS(){vector<int>vec;vector<int>aa;int k = 0;vec.push_back(0);a[0] = 1;while (vec.size() != 0){while (k < vec.size()){cout << vec[k] << endl;int mm = 0;//a[vec[k]] = 1;while (mm < N){if (g.matirx[vec[k]][mm] == 1){if (a[mm] != 1){aa.push_back(mm);a[mm] = 1;}}mm++;}k++;}vec = aa;k = 0;aa.clear();}}int _tmain(int argc, _TCHAR* argv[]){initiate_graph();//DFS(0);BFS();system("pause");return 0;}


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

圖的深度優先搜尋與廣度優先搜尋

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.