inflearn logo
강의

講義

知識共有

[C#とユニティで作るMMORPGゲーム開発シリーズ] Part2: データ構造とアルゴリズム

BFS 질문

143

mint4797

投稿した質問数 2

0

bfs는 최단거리를 어떻게 찾는건지 이해가 안되서 질문 남깁니다. 그니까 여러 갈래의 길을 부모-자식의 관계로 뻗어나가면서 찾다가, 도착점에 도달하는 부모자식 관계가 있으면, 부모를 타고 올라가면서 확인 한 다음에 reverse를 시켜서 다시 부모에서 자식으로 내려간다고 이해하면 될까요

C#

回答 2

0

Rookiss

네 그렇습니다. 공책에 한번 낙서를 해보시면 더 도움이 될 거예요.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. mint4797님.

BFS(너비 우선 탐색)는 그래프나 트리에서 최단 경로를 찾는 데 효과적인 알고리즘입니다. BFS는 시작 위치에서 가능한 모든 이웃 노드를 탐색하고, 이 노드들에서 다시 주변의 노드를 탐색하는 방식으로 진행됩니다. 이 과정을 통해 차례로 모든 경로를 탐색하므로, 특정 지점에 가장 빨리 도달할 수 있는 최단 경로를 찾을 수 있게 됩니다.

  1. 큐를 통한 탐색: BFS는 큐를 사용하여 탐색 경로를 관리합니다. 시작 지점에서 출발하여 인접한 노드들을 큐에 저장하고, 각 노드를 차례로 방문하면서 그 노드와 인접한 노드들을 다시 큐에 추가합니다.

  2. 많은 경로 중 최단 경로: BFS는 모든 가능한 경로를 동시에 확장해 나가며, 처음으로 목적지에 도달하는 탐색 경로가 최단 경로가 됩니다. 즉, 탐색 도중 벽이나 막힌 지점이 나올 경우, 다른 경로들로 탐색을 계속 진행합니다. 이 때문에 BFS는 항상 최단 경로만 남게 되는 것입니다.

관련된 질문들이 많이 올라와 있어 몇 가지를 추천드립니다:

위의 추천된 게시물들을 통해 BFS의 작동 방식을 이해하고, 특히 큐를 사용하는 이유와 최단 경로를 보장할 수 있는 원리를 배울 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

게임개발에서 주로 어느부분에 알고리즘들이 쓰이는지 궁금합니다

0

172

2

글꼴 바꿔도 자간이 좁아 찌그러져보이시는 분들

0

88

1

NullReferenceException 예외) 같은 실수하시는분 계실까봐 남겨요

0

66

1

parent를 Pos타입으로 만든 이유

0

74

1

콘솔창에 격자가 안나옴 미로 생성 X

0

133

1

격자 생성 안됨 무한루프

0

114

1

격자 무한 출력

0

167

2

A* 의 PriorityQueue 관련 질문입니다

0

156

2

vscode에서 원그리기

0

180

1

환결설정 강의 원 그리기

0

122

1

15-17분

0

87

1

3:16초에 근데 이렇게 해가지고 부분에 "{}"를 만들어서 자식 node들을 생성하던데 왜 중괄호로 감싸게 만드는 건가요?

0

141

2

동적 배열 관련 질문입니다!

0

209

1

Big-o 표기법에서 시간 복잡도

0

167

1

7:40에서 언급하신 색상이 날아가는 문제 이해를 못하겠습니다

0

151

1

트리구현연습 강의 질문있어요

0

143

1

창은 뜨는데 맵이 나타나지 않아요.

0

175

1

Ctrl F5 하면 나오는 창은 어디서 설정할까요??

0

271

1

void CalcPathFromParent(Pos[,] parent)에 대해서

0

202

2

NullReferenceException예외가 발생했을때 어떻게 해야하나요?

0

229

1

[해결] 환경설정 강의에서 원이 이상하게 그려지는 문제

3

311

2

오른손 법칙에서 플레이어 점이 안 움직입니다

0

245

2

맵 만들기 오류

0

179

1

맵 만들기 부분 오류

0

236

1