Programing Language

깊이 우선 탐색 (Depth First Search, DFS)

2023. 7. 14. 00:32
목차
  1. 그래프 탐색이란
  2. 깊이 우선 탐색(DFS, Depth-First Search)
  3. 깊이 우선 탐색이란
  4. 깊이 우선 탐색(DFS)의 특징
  5. 깊이 우선 탐색(DFS)의 과정

그래프 탐색이란


하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것
Ex) 특정 도시에서 다른 도시로 갈 수 있는지 없는지, 전자 회로에서 특정 단자와 단자가 서로 연결되어 있는지

깊이 우선 탐색(DFS, Depth-First Search)

깊이 우선 탐색이란


루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법

  • 미로를 탐색할 때 한 방향으로 갈 수 있을 때까지 계속 가다가 더 이상 갈 수 없게 되면 다시 가장 가까운 갈림길로 돌아와서 이곳으로부터 다른 방향으로 다시 탐색을 진행하는 방법과 유사하다.
  • 즉, 넓게(wide) 탐색하기 전에 깊게(deep) 탐색하는 것이다.
  • 사용하는 경우: 모든 노드를 방문 하고자 하는 경우에 이 방법을 선택한다.
  • 깊이 우선 탐색(DFS)이 너비 우선 탐색(BFS)보다 좀 더 간단하다.
  • 단순 검색 속도 자체는 너비 우선 탐색(BFS)에 비해서 느리다.

깊이 우선 탐색(DFS)의 특징

  • 자기 자신을 호출하는 순환 알고리즘의 형태 를 가지고 있다.
  • 전위 순회(Pre-Order Traversals)를 포함한 다른 형태의 트리 순회는 모두 DFS의 한 종류이다.
  • 이 알고리즘을 구현할 때 가장 큰 차이점은, 그래프 탐색의 경우 어떤 노드를 방문했었는지 여부를 반드시 검사 해야 한다는 것이다.
    이를 검사하지 않을 경우 무한루프에 빠질 위험이 있다.

깊이 우선 탐색(DFS)의 과정

 

 

저작자표시 (새창열림)

'Programing Language' 카테고리의 다른 글

no such file or directory, 오류  (0) 2024.02.27
너비우선탐색 (Breadth First Search, BFS)  (3) 2023.07.14
코딩테스트 문제 유형  (1) 2023.07.13
  1. 그래프 탐색이란
  2. 깊이 우선 탐색(DFS, Depth-First Search)
  3. 깊이 우선 탐색이란
  4. 깊이 우선 탐색(DFS)의 특징
  5. 깊이 우선 탐색(DFS)의 과정
'Programing Language' 카테고리의 다른 글
  • no such file or directory, 오류
  • 너비우선탐색 (Breadth First Search, BFS)
  • 코딩테스트 문제 유형
orange_mj
orange_mj
orange_mj
programing
orange_mj
전체
오늘
어제
  • 분류 전체보기
    • Goormthon Univ 2기
    • LikeLion 11기, 12기 (멋쟁이사자처럼)
    • Programing Language
      • [python]
      • [C++]
      • [Javascript]
    • Forensic
      • Basic
      • NOX
      • 앱 분석, Database 복호화
    • 부채널
      • Machine Learning
      • AES
      • Side Channel analysis
    • WEB
      • React
    • MapleStory Worlds Super Hac..
      • 기본 개념
      • 응용
    • Github
    • APP
      • REACT_NATIVE

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

hELLO · Designed By 정상우.
orange_mj
깊이 우선 탐색 (Depth First Search, DFS)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.