출처: geeksforgeeks
노드(node)와 간선(edge)를 포함하는 비선형 자료구조. 노드를 정점(vertices)이라고 표현하기도 한다.
그래프에서 간선은 방향을 갖거나 갖지 않을 수 있고, 간선의 연결로 사이클(Cycle)이 생기기도 한다.
사실 이전에 배운 트리는 그래프의 한 형태이다. (트리는 루트가 있고, 사이클이 없으며, 아래 방향으로만 흐르는 그래프이다.) 👉 트리(Tree)에 대한 문서 보러가기
- 방향 그래프(Directed): 간선에 방향이 있는 그래프
- 무방향 그래프(Undirected): 간선에 방향이 없는 그래프
- Cyclic 그래프: 그래프 내부에 사이클이 있는 그래프
- Acyclic 그래프: 사이클을 이루지 않는 그래프
예를 들어 인접행렬 adj
가 있다고 할 때, adj[i][j]
는 정점 i와 정점 j의 간선(edge) 유무를 나타낸다.
출처: geeksforgeeks
O(1)
이 걸린다.노드의 개수의 제곱
만큼의 배열 공간이 필요하다.출처: geeksforgeeks