ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 11-2. 그래프의 표현
    [Do it_java] 2023. 6. 5. 19:33

    256P ~278P

    강의: 08-1

     


    < 그래프의 표현>


    ■ 에지 리스트

          - 에지를 중심으로 그래프를 표현

     

     ✔ 가중치가 없는 그래프 표현

          - 그래프는 출발 노드와 도착 노드만 표현

          - 배열의 행은 2개면 충분

          - 노드는 여러 자료형을 사용할 수 있다

     

    예) Integer형

     

     ✔ 가중치가 있는 그래프 표현

          - 배열의 행을 3개로 늘린다

          - 3번째 행에 가중치를 저장한다

     

    * 방향이 없는 그래프인 경우에는 시작 노드를 두지 않고 시작

    ** 특정 노드와 관련되어 있는 에지를 탐색하기 어렵다

     

    ■ 인접 행렬

          - 2차원 배열 자료구조를 이용하여 그래프를 표현

          - 노드 중심 그래프 표현

     

     ✔ 가중치가 없는 그래프 표현

     ✔ 가중치가 있는 그래프 표현

    *N번 접근을 해야 하므로 시간복잡도가 좋진 않다

     

    ■ 인접 리스트 ❗❗❗

          - 노드 개수만큼 ArrayList를 선언

          - 자료형은 경우에 맞게 사용

     

     ✔ 가중치가 없는 그래프 표현

          - ArrayList<integer>[5]로 선언 *배열로 선언

          - 인접리스트에는 N번 노드와 연결되어 있는 노드를

            배열의 위치 N에 연결된 노드 개수만큼 배열을 연결하는 방식으로 표현

     

     ✔ 가중치가 있는 그래프 표현

          - Node를 생성해야 함

          - 노드와 연결되어 있는 에지를 탐색하는 시간이 매우 뛰어나다

     

    '[Do it_java]' 카테고리의 다른 글

    11. 그래프 (서론)  (0) 2023.06.04
    10. 정수론  (0) 2023.06.02
    9. 그리디(greedy) 알고리즘  (0) 2023.05.31
    7. 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)  (0) 2023.05.29
    5. 버블정렬, 선택정렬  (0) 2023.05.27
Designed by Tistory.