Skip to content

Latest commit

 

History

History
77 lines (43 loc) · 2.81 KB

File metadata and controls

77 lines (43 loc) · 2.81 KB

18. Graphs

목표

  1. 각각의 그래프의 차이점을 알고 실제 사용방법
  2. 인접 리스트를 사용해서 그래프를 구현
  3. BFS와 DFS를 사용해 그래프 탐색
  4. 그래프 탐색 알고리즘의 비교

그래프란

Nodes + Connections

Screen Shot 2021-07-12 at 22 07 15

Screen Shot 2021-07-12 at 22 07 35

그래프를 사용하는 곳

  • 소셜 네트워크
  • 위치 / 매핑
  • 라우팅 알고리즘
  • 시각적 계층구조
  • 파일 시스템 최적화

그래프 종류

용어

  • Vertex(꼭지점) : node
  • Edge : 노드 사이의 연결
  • Weighted/Unweighted : 정점 사이의 거리에 정해진 값
  • Directed/Undirected : 정점 사이의 거리에 정해진 방향

Screen Shot 2021-07-12 at 22 24 43

  • 트리는 한 노드에서 다른 노드로 가는 길이 하나다.
  • 그래프는 한 노드에서 다른 노드로 가는 길이 여러개일 수 도 있다.

Undirected graph

  • 노드 간의 연결에 방향이 없다.

Screen Shot 2021-07-12 at 22 26 57

Directed graph

  • 노드 간의 연결에 방향이 있다.

Screen Shot 2021-07-12 at 22 29 18

Weighted graph vs Unweighted graph

  • 노드간의 연결에 관련된 값이 있다면 Weighted graph
  • 노드간의 연결에 값이 없다면 Unweighted graph

Screen Shot 2021-07-12 at 22 41 57

그래서 어떻게 사용하는데요~ 😺

Screen Shot 2021-07-12 at 22 48 53

1. Adjacency Matrix

  • 그래프를 행열로 나타내는 방법입니다.

Screen Shot 2021-07-12 at 22 49 18

2. Adjacency List

  • 그래프를 리스트로 나타내는 방법입니다.

Screen Shot 2021-07-12 at 22 52 03