[자료구조] 인접행렬

Adjaceny matrix(인접 행렬)

그래프의 정점들 간 인접함을 표시해주는 행렬이다.
2차원 배열을 통해 자세히 알아보겠다.

matrix

정점의 개수가 2개인 matrix를 생성해보았다.
간선이 있다면 1, 없다면 0

const node = 2;

let matrix = new Array(node)
  .fill(0)
  .map((row) => new Array(node).fill(0));
matrix = 
      [  
      [0, 0],
      [0, 0]
      ]

  • 방향 그래프
    구문을 통한 예제로 실제 코드구현이 고려되지 않았습니다.
matrix.forEach((n) => {
  const [row, col, direction] = n;
  matrix[row][col] = 1
});

  • 무향 그래프
    구문을 통한 예제로 실제 코드구현이 고려되지 않았습니다.
matrix.forEach((n) => {
  const [row, col, direction] = n;
  matrix[row][col] = 1
  if (direction === "undirected") {
  	 matrix[col][row] = 1
  }
});

간선의 유무에 따른 값 변경 코드 구현 예시

const result = [
  ["row", "col"],
  ["row", "col"],
];

result[0][1] = 1;
result = [
  ["row", 1],
  ["row", "col"],
];

result[0][0] = 1;
result = [
  [1, 1],
  ["row", "col"],
];

result[1][0] = 1;
result = [
  [1, 1],
  [1, "col"],
];
result[1][1] = 1;
result = [
  [1, 1],
  [1, 1],
];

좋은 웹페이지 즐겨찾기