深度優先搜尋

2021-08-04 04:26:05 字數 865 閱讀 1707

按深度優先搜尋遍歷乙個連通分支,用鄰接矩陣儲存。

輸入:給出頂點個數,預設是從1到n的,給出邊數及相關頂點與距離

輸出:按順序給出訪問的頂點

#include

int e[101][101];

int book[101]=;

int sum=0,n;

void dfs(int cur)

}}int main()

printf("p1: p2:\n");

for(i=0;iscanf("%d %d",&a,&b);

e[a][b]=e[b][a]=1;

}book[1]=1;

dfs(1);

return

0;}

c++版

#include

#include

#include

#include

using

namespace

std;

const

int dif = 999999999;

int e[101][101];//鄰接矩陣

int book[101];

int sum=0;//記錄訪問過得頂點數

int n;//頂點數

int m,v1,v2,d;//邊數及邊的資訊

void ini()

}cin >> m;

for(int i=0;icin >> v1 >> v2 >> d;

e[v1][v2]=d;

e[v2][v1]=d;

}}void dfs(int x)

}}int main()

廣度優先搜尋 深度優先搜尋

前言 這幾天複習圖論演算法,覺得bfs和dfs挺重要的,而且應用比較多,故記錄一下。廣度優先搜尋 有乙個有向圖如圖a 圖a廣度優先搜尋的策略是 從起始點開始遍歷其鄰接的節點,由此向外不斷擴散。1.假設我們以頂點0為原點進行搜尋,首先確定鄰接0的頂點集合s0 2.然後確定頂點1的集合s1 頂點2沒有鄰...

廣度優先搜尋,深度優先搜尋

深度優先搜尋 depth first search 簡稱dfs。最直觀的例子就是 走迷宮 廣度優先搜尋 每個頂點都要進出一遍佇列,每個邊也都會被訪問一次,所以 時間複雜度o v e 主要消耗記憶體的是visited prev陣列 queue佇列,所以 空間複雜度o v 深度優先搜尋 每條邊最多會被訪...

深度優先搜尋 廣度優先搜尋

深度優先搜尋 廣度優先搜尋 通過鄰接矩陣對圖進行深搜和廣搜 package com.neusoft.data.structure 深度優先搜尋 廣度優先搜尋 通過鄰接矩陣對圖進行深搜和廣搜 public class dfsbfs 初始化 邊 mmatrix new int vlen vlen for...