그래프란, 자료구조의 하나로 정점(vertex 혹은 node)와 간선(edge)로 이루어져 있다.
용어 | 뜻 |
---|---|
정점 | 데이터를 저장하는 위치 |
간선 | 정점을 연결하는 선 |
인접 정점 | 간선으로 연결되어있는 정점 |
단순 경로 | 경로 중에서 반복되는 정점이 없는 경우 한붓그리기와 같이 중복된 간선을 지나지 않는 경로 |
경로길이 | 경로를 구성하는 데 사용한 간선의 수 |
사이클 | 경로의 시작 정점과 종료 정점이 일치하는 경우 |
장점은 구현이 쉽다는 점이다. 하지만 단점으로는 배열을 만드는 과정에서 시간이 오래 걸린다. 항상 2차원 배열의 형태로 구현되므로 메모리 낭비가 크다고 한다.
인접 행렬과 인접 리스트를 코드로 구현하는 것에는 여러 방법이 있을 지도 모르겠다.
나는 python에서 인접 행렬은 이차원 리스트로 구현하고, 인전 리스트는 딕셔너리로 구현한다.