Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 인접행렬
- dfs
- javascript
- GraphQL
- LifeCycle
- html
- 탐욕법
- css
- winston
- Linux
- 인접리스트
- typescript
- TIL
- REST API
- OOP
- Deep Dive
- 알고리즘
- 프로그래머스
- puppeteer
- 코딩테스트
- java
- node.js
- nestjs
- 자료구조
- JWT
- Spring
- bean
- Interceptor
- Kubernetes
- MySQL
Archives
- Today
- Total
처음부터 차근차근
[Javascript] 인접행렬, 인접 리스트 구현 방법 본문
728x90
인접 행렬 구현 방법
자바스크립트는 다른 언어와는 다르게 2차원 배열을 구현하는 방법이 없다.
(예시로 a[i][j] 이런식으로 구현할 수 없다)
따라서 Array.from 메서드를 사용하여 구현해줘야 한다.
function Matrix(v) {
// 자바스크립트에는 2차원 배열을 만들 때 a[0][0] 이런식으로는 만들 수 없다.
// 따라서 2차원 배열을 만들 경우 이렇게 만들어야 한다.
const a = Array.from(Array(10), () => new Array(10).fill(0));
const visited = Array.from(Array(10).fill(0));
a[1][2] = 1;
a[1][3] = 1;
a[3][4] = 1;
a[2][1] = 1;
a[3][1] = 1;
a[4][1] = 1;
console.log(visited);
console.log(a);
}
인접 리스트 구현 방법
Javascript는 vector 대신 Array를 사용하면 편리하다.
// 정점의 개수
let max: number = 5;
// 인접 리스트를 객체로 만들기 위한 준비
let adjList = {};
// 정점의 갯수만큼 인접리스트에 키-값을 만든다. 값은 빈 배열로 생성한다.
for (let i = 0; i < max; i++) {
adjList[i] = [];
}
// 정점간 간선 정보에 따라서, Loop을 사용해 위에 빈 배열을 만들었던 것에 값을 넣어준다.
// 이때 push로 넣으면 된다.
'CS > 자료구조' 카테고리의 다른 글
[자료구조] Binary Tree, BST (0) | 2023.11.16 |
---|---|
[자료구조] Tree (0) | 2023.11.16 |
[자료구조] 인접 행렬, 인접 리스트 (0) | 2023.11.15 |
[자료구조] Graph (0) | 2023.11.15 |
[TypeScript] MaxHeap 구현 (0) | 2023.11.13 |