작성
·
8
·
수정됨
0
제 자력으로는 bfs로 풀어봤는데 정답이 뜨긴 했습니다.
그리고 선생님이 푸신 기법으로도 제출해보았더니 실행시간은 비슷하더라구요.
이 문제에서만은 bfs로 해결해도 되지만 뒤에 있는 문제를 풀기 전에 알아야할 코드이기에 선수학습 코드로 알고 있으면 될까요?
최소 스패닝 트리 문제는 bfs만으로는 풀 수가 없는걸까요...?
한 집합에서 노드들이 응축이 되지 않고 계속 연결만 되고 있는 상태에서 마지막으로 입력된(연결된) fb가 이 집합의 배열의 값이 되는건가요? 입력 예시로 보면 (1,2), (2,3), (3,4), (1,5)는 결국 하나의 집합인거잖아요? 여기서 5(fb)가 이 집합의 배열값으로 무조건 고정이 되는건지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
bfs
풀이에 대해 질문을 주셨네요. 많은 문제에서 BFS는 그래프 탐색에서 중요한 역할을 하며, 특히 최단 경로나 거리 탐색 문제에서 많이 사용됩니다. BFS의 주요 특징은 너비 우선 탐색 방법으로, 큐를 사용하여 구현하는 것이 일반적입니다. BFS를 알고리즘 문제풀이에 활용하면서 실행 시간과 효율성을 비교하는 것은 좋은 학습 방법입니다.
만약 BFS를 통해 문제를 해결하고 비슷한 실행 시간을 가진다면 해당 문제에서는 BFS가 적절한 선택일 수 있습니다. 그러나 각 문제의 특성에 따라 적합한 알고리즘이 다를 수 있으므로 다양한 문제를 접하면서 경험을 쌓는 것이 중요합니다.
한편, 최소 스패닝 트리(MST) 문제는 보통 BFS만으로 해결하기 어렵습니다. 일반적으로 MST는 Kruskal의 알고리즘이나 Prim의 알고리즘을 통해 해결됩니다. 이러한 알고리즘은 그래프의 간선을 효율적으로 처리하여 최소의 비용으로 모든 정점을 연결하는 트리를 찾습니다. MST 문제는 로직과 조건이 복잡하여 BFS와 같은 단순 탐색 알고리즘만으로는 한계가 있을 수 있습니다.
아래는 BFS, DFS와 관련된 다른 질문들로 도움이 될 수 있는 링크를 제공합니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.