BFS(Breath First Search)는 말그대로 너비를 우선 탐색한다. DFS는 연결된 노드를 계속 들어가며 재귀호출하는 방식이었지만 BFS는 이와 달리 queue를 이용해서 루트노드에 연결되어있는 모든 노드를 다 탐색 후에 다음 깊이로 들어간다. 소스로 확인하면 다음과 같다. 1234567891011121314151617181920212223242526272829303132333435#include#includeusing namespace std;int map[10][10]={0};int visit[10]={0};queue q;int num; void bfs(int v){ cout
알고리즘&자료구조
2019. 1. 28. 12:45
안녕하세요, 이번엔 자료구조의 아주 기본인 큐를 배워보도록 하겠습니다. 큐(Queue)란 사전적 의미로 줄, 대기행렬, 꼬리 등의 의미가 있는데요, 놀이공원 같은 곳에서 먼저 줄을 서면 먼저 입장하게 되는데 큐는 이러한 방식입니다. 지난번에 배운 스택과 어떤 차이점이 있을까요? 리스트의 한쪽 끝에서만 삽입과 삭제가 일어나기 때문에 최근에 넣은 데이터가 먼저 나오는 스택(LIFO 방식)과 달리 큐는 먼저 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 방식으로, 리스트의 한쪽에서는 삽입, 다른 한쪽에서는 삭제가 가능한 구조입니다. 스택과의 매우 큰 차이를 아시겠나요? 그림으로 보면 다음과 같습니다. 위 그림처럼 한쪽(front)에서는 삭제가 가능하고, 다른 한쪽(rear)에서는 삽입..
알고리즘&자료구조
2018. 1. 5. 11:27
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday