암시적 그래프

2025. 5. 9. 11:13·PS/알고리즘
728x90

인접 행렬이나 인접 리스트를 사용하여 그래프를 저장하는 방식이 일반적이다.

`암시적 그래프 (Implicit Graph)`는 명시적인 저장 방식 없이, 문제의 조건을 통해 그래프의 구조를 유추하며 탐색하는 방식이다.

미로 탐색, 퍼즐 문제, 최단 거리 문제 등에서 자주 출제되며, 이를 효과적으로 해결하기 위해 반드시 이해해야 한다.

암시적 그래프 개념

암시적 그래프는 명시적으로 노드와 간선을 저장하지 않고, 탐색하면서 그래프 구조를 동적으로 유추

즉, 탐색 과정에서 이동 가능한 정점과 간선을 문제의 조건을 기반으로 판별함

예시)

아래와 같은 미로가 있다고 가정

  • `1`: 이동 가능
  • `0`: 이동 불가능
  • 상하좌우로 이동

암시적 그래프 예시

겉보기에는 그래프로 보이지 않지만,
값이 1인 곳이 이동 가능(노드) 하다는 점과 상하좌우로 이동(간선)할 수 있다는 점을 고려하면 그래프로 해석 가능하다.

❓ 암시적 그래프에서의 노드
암시적 그래프에서 노드의 이름은 별도로 부여하지 않고, 해당 위치의 좌표를 사용함
∴ (x, y) 좌표 = 노드

 

암시적 그래프 vs 인접 리스트

명시적 그래프 (인접 리스트)

인접 리스트를 사용한 BFS에선 현재 노드의 다음 노드를 찾는 과정은 간단함.

for(int next: graph.get(current)){...}

`graph.get(current)`를 순회하면 미리 저장된 연결 정보를 활용해 다음 노드를 바로 찾을 수 있음

즉, 다음 노드를 미리 알고 있으므로 반복문을 통해 찾기만 하면 됨

암시적 그래프

암시적 그래프는 연결된 노드 정보를 저장하지 않음

∴ 탐색 중에 직접 다음 노드를 찾아야 함

for (int i = 0; i < 4; i++) { // 상하좌우 탐색
    int nx = x + dx[i];
    int ny = y + dy[i];
    
    // 배열 범위 체크
    if (0 <= nx && nx < rowLen && 0 <= ny && ny < colLen) {
        // 이동 가능한지 확인
        if (grid[nx][ny] == 1) { ...

암시적 그래프에서 다음 노드를 찾는 방식은 문제의 조건에 따라 동적으로 결정됨.

728x90
'PS/알고리즘' 카테고리의 다른 글
  • 그리디 알고리즘 (탐욕법, Greedy)
  • 너비 우선 탐색 & 깊이 우선 탐색, 이진 탐색
  • 그래프
  • 재귀
0woy
0woy
Algorithm, CS, Web 등 배운 내용을 기록합니다.
  • 0woy
    0woy dev
    0woy
  • 전체
    오늘
    어제
    • 분류 전체보기 (40) N
      • Backend (3)
        • JAVA (3)
      • Frontend (15)
        • HTML5 (1)
        • CSS (1)
        • JS (4)
        • Vue 3 (9)
      • Computer Science (11)
        • 네트워크 (5)
        • 운영체제 (5)
      • PS (8) N
        • LeetCode (2)
        • Baekjoon (1)
        • Programmers (0)
        • 알고리즘 (5) N
      • Dev Trivia (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    fastretransmit
    익명구현객체
    leetcode
    fast recovery
    함수
    암시적그래프
    Props
    JS
    상속
    javascript
    속성
    tcp
    set
    map
    트리
    Vue3
    list
    function
    implicit graph
    BFS
    basecase
    recursioncall
    tcp tahoe
    dfs
    html
    그래프
    java
    selectiverepeat
    DP
    dom
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
0woy
암시적 그래프
상단으로

티스토리툴바