본문 바로가기

Web/JAVA

[자료구조] DFS, BFS

728x90

 

 

 

DFS (Depth First Search)

그래프 탐색의 한 종류

깊이 우선 탐색이라고 부름

루트 노드나 임의의 노드에서 시작하여 최대로 진입할 수 있는 깊이까지 탐색한 후 돌아와 다른 노드로 탐색하는 방식

Stack을 사용하여 데이터를 탐색

 

장점

- 한 노드상의 노드들만 기억하면 되므로 저장공간 수요가 비교적 적음

- 목표 노드가 깊은 단계에 있을 경우 해를 빨리 구할 수 있음

 

단점

- 해가 없는 경로가 깊을 경우 탐색시간이 오래 걸릴 수 있음

- 얻어진 해가 최단 경로가 된다는 보장이 없음

 

 

동그라미로 표시된 것을 노드 또는 정점(Vertex)라고 정의하고, 각 노드를 연결한 선은 간선(Edge)

 

 

 

 

 

정리하려다가 아예 PPT 자료 다 공유해주신 사이트가 있어서.... 따로 없이 강의를 듣기로 했다

이런 강의 너무 감사하고ㅠㅠㅠ 열심히 해야지

 

728x90

'Web > JAVA' 카테고리의 다른 글

[Functional Interface]  (0) 2023.04.18
[effective java] 3판 요약 보면서 (1)  (0) 2023.04.17
[Java] Super  (0) 2023.03.23
[Java] Interface Supplier<T>  (0) 2023.03.22
[Java] this  (0) 2023.03.22