정점과 정점 사이를 연결하는 간선으로 이루어진 비선형 자료구조이다.
지하철 노선도, 페이지 랭크 알고리즘이 대표적으로 그래프를 사용하는 구조이다.
그래프는 2가지 특성에 따라 분류될 수 있다.😊
무방향 그래프
방향 그래프
연결 그래프
비연결 그래프
완전 그래프
그래프 역시 인접 행렬, 인접 리스트로 구현할 수 있다. js에서 구현은 굉장히 쉬운 편!
const graph = Array.from(
Array(5),
() => Array(5).fill(false)
);
graph[0][1] = true;
graph[0][3] = true;
graph[1][2] = true;
graph[4][0] = true;
=> JS는 배열이 고정된 크기가 아닌 무한정 늘어날 수 있기 때문에, 특히 구현하기가 더 간단하다고 할 수 있다.😊👍
const graph = Array.from(
Array(5),
() => []
);
graph[0].push(1);
graph[0].push(3);
graph[1].push(2);
graph[4].push(0);
매우 간편!
이와 관련된 알고리즘에는 BFS, DFS등이 있는데, 추후 추가하겠다.🔥