05-19 00:10
Recent Posts
Recent Comments
관리 메뉴

너와나의 관심사

BFS 기본 코드 본문

카테고리 없음

BFS 기본 코드

벤치마킹 2018. 6. 21. 02:18

queue  를 활용한 이어지는 최단 거리를 탐색 하는 코드 






vector <int> bfs_example(int start){



discov = vector <bool>(adj.size(), false);

queue <int> q;

vector < int > order;



discov[start] = true;


q.push(start);


while (!q.empty()) {

int here = q.front();

q.pop();


order.push_back(here);



for (int i = 0; i < adj[here].size(); i++){

int aa = adj[here][i];


if (!discov[aa]){

dep[aa] = dep[here] + 1;

q.push(aa);

discov[aa] = true;

} //if

} //for


}//while


return order;


}



Comments