자료구조&알고리즘
그래프(Graph) 자료구조
with_AI
2022. 4. 8. 15:53
그래프
- Vertex, edge로 구성된 자료구조
- Vertex == Node
그래프 Graph
- 네비게이션 길찾기
- 게임 내 캐릭터 이동
- 지식 그래프
쾨니히스베르크의 다리 문제
- 한 다리를 두번 이상 건너지 않고 모든 다리를 건널 수 있나? -> 불가능함
방향 그래프 Directed Graph
가중치 그래프
루프 loop
순환 그래프 Cyclic Graph
그래프의 구현
- 인접 행렬
- 2차원 배열로 구현
단점은 메모리를 많이 써야한다,
새로운 노드 생기면 연산량이 늘어난다.
인접 리스트
- Vertex 갯수 만큼의 list 사용
효율적인 메모리 공간
생성 추가 수월함
인접행렬보다 edge를 찾는데 오래 걸릴 수 있음
그래프 순회
- 그래프 탐색
- 위상 정렬
- 그래프의 최단거리
DFS
- 깊이 우선 탐색
BFS
- 너비 우선 탐색