박오이님
무미건조한 개발자
박오이님
전체 방문자
오늘
어제
  • 뭥미 (101)
    • 프로젝트 (8)
      • 자가 보호 (3)
      • 주식 시장 분석 도구 (5)
    • 보안 (7)
      • 개론 (2)
      • 웹 (2)
      • 시스템 (2)
    • 개발 (69)
      • C++ (12)
      • Win32 (7)
      • MFC (2)
      • 자료구조 (8)
      • 알고리즘 (22)
      • 백준 (9)
      • 프로그래머스 (4)
      • LeetCode (0)
      • 개발자 면접 준비 (4)
      • OpenGL (1)
    • 서적 (13)
      • Effective C++ (9)
      • Effective Modern C++ (4)
    • 관심사 (4)
      • 재테크 (4)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • JSON
  • 나동빈 #알고리즘 #동빈나
  • 윈도우개발자
  • 프로세스메모리
  • Functional
  • 에라토스테네스의 체 #C #C++ #개발 #알고리즘 #BFS #DFS #백준 #백준알고리즘
  • 합집합찾기
  • 시스템프로그래밍
  • 플로이드와샬알고리즘 #최단경로 #백준 #알고리즘 #개발 #C #C++
  • C
  • jsoncpp
  • 윈도우프로그래밍
  • 윈도우
  • 윈도우시스템프로그래밍
  • 알고리즘
  • 안경잡이개발자
  • C++
  • vcpkg
  • 나동빈
  • 백준 #알고리즘 #플로이드와샬 #DFS #BFS #C #C++
  • DFS #BFS #알고리즘 #프로그래밍 #코딩테스트 #코딩 #C++ #C
  • CPP
  • 동빈나
  • 크루스칼알고리즘
  • 에라토스테네스의 체 #알고리즘 #개발 #C #C++ #소수 #소수판별
  • std
  • EffectiveC++
  • 코딩컨벤션
  • 최소간선비용
  • 개발

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
박오이님

무미건조한 개발자

개발/알고리즘

너비 우선 탐색(Breadth First Search, BFS)

2019. 6. 25. 21:52

너비 우선 탐색은 탐색을 할 때 너비를 우선으로 하여 탐색을 수행하는 탐색 알고리즘

 

너비 우선 탐색은 '최단 경로'를 찾아준다는 점!

 

준비물은 큐

 

#include <iostream>
#include <queue>
#include <vector>

using namespace std;

int number = 7;
int checked[7];

vector<int> a[8];

void bfs(int start)
{
	queue<int> q;
	q.push(start);
	checked[start] = true;

	while (!q.empty())
	{
		int x = q.front();
		q.pop();
		printf("%d ", x);

		for (int i = 0; i < a[x].size(); i++) 
		{
			int y = a[x][i];
			if (!checked[y])
			{
				q.push(y);
				checked[y] = true;
			}
		}
	}
}

int main(void)
{
	a[1].push_back(2);
	a[2].push_back(1);

	a[1].push_back(3);
	a[3].push_back(1);

	a[2].push_back(3);
	a[3].push_back(2);

	a[2].push_back(4);
	a[4].push_back(2);

	a[2].push_back(5);
	a[5].push_back(2);

	a[4].push_back(5);
	a[5].push_back(4);

	a[3].push_back(6);
	a[6].push_back(3);

	a[3].push_back(7);
	a[7].push_back(3);

	a[6].push_back(7);
	a[7].push_back(6);

	bfs(1);

	return 0;
}

 

관련 유투브 주소 : https://www.youtube.com/watch?v=66ZKz-FktXo&list=PLRx0vPvlEmdDHxCvAQS1_6XV4deOwfVrz&index=16

'개발 > 알고리즘' 카테고리의 다른 글

Union-Find(합집합 찾기)  (0) 2019.07.03
깊이 우선 탐색(Depth First Search, DFS)  (0) 2019.06.27
그리디(Greedy) 알고리즘  (0) 2019.06.14
라빈 카프(Rabin-Karp)알고리즘  (0) 2019.06.14
KMP(Knuth-Morris-Pratt)알고리즘  (0) 2019.06.14
    '개발/알고리즘' 카테고리의 다른 글
    • Union-Find(합집합 찾기)
    • 깊이 우선 탐색(Depth First Search, DFS)
    • 그리디(Greedy) 알고리즘
    • 라빈 카프(Rabin-Karp)알고리즘
    박오이님
    박오이님
    긍정도 아니고 부정도 아닌 0

    티스토리툴바