일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 자바스크립트 코딩테스트
- VUE
- 국비IT
- 정보처리기사정리
- 타입스크립트
- 자스코테
- 리액트
- 정보처리기사
- Java의정석
- 평일코딩
- 자바의정석
- 이안의평일코딩
- php
- ReactNative
- 스프링
- 정보처리기사실기요약
- 자바스크립트
- 코딩테스트
- 정보처리기사실기정리
- 리액트네이티브
- 정보처리기사요약
- spring
- 오라클
- CSS
- javascript
- Oracle
- typescript
- react
- 국비코딩
- 정보처리기사실기
- Today
- Total
목록그래프 (3)
이안의 평일코딩
그래프는 인접행렬(adjacency matrix) 혹은 인접리스트(adjacency list)로 표현한다. 노드 갯수가 적을 때는 인접행렬로도 충분하지만 노드 수가 많아지면 인접리스트를 이용하는게 효율이 좋다. (시간복잡도가 훨씬 줄어든다.) 인접행렬은 node와 edge의 정보를 행렬로 표현하는 방법으로, edge와 상관없이 모든 node를 표현해야 하기 때문에 node의 수가 많을수록 메모리 사용량이 늘어난다. (node의 개수만큼 반복문을 돌아야 하기 때문) 인접리스트는 node와 edge의 정보를 리스트로 표현하는 방법으로, 연결된 것만 표시하므로 인접행렬에 비해 간단하다. // 인접행렬 function solution(n, arr) { let answer = 0; let graph = Array..
방향 그래프(directed graph)와 무방향 그래프(undirected graph)는 이동방향의 유무 차이로 구분한다. 방향 그래프는 이동할 수 있는 방향이 정해져있고 무방향은 명칭대로 방향이 없어 양쪽 다 가능하다. // 방향 그래프 let arr = [[1, 2],[1, 3],[1, 4],[2, 1],[2, 3],[2, 5],[3, 4],[4, 2],[4, 5]]; let graph = Array.from(Array(n + 1), () => Array(n + 1).fill(0)); for (let [a, b] of arr) { // arr 값 1개 씩 탐색 graph[a][b] = 1; // 방향 그래프에서 graph arr 에 1로 체크 } // 1로 체크되어 있으면 갈 수 있는 방향인 것 /..
0. 이진트리(binary tree)란 각각의 노드가 최대 두개의 자식 노드를 가지는 트리 자료 구조로, 자식 노드를 각각 왼쪽 자식 노드와 오른쪽 자식 노드라고 한다. (참고로 트리 자료 구조란 노드들이 나무 가지처럼 연결된 비선형 계층적 자료구조를 말한다.) 1. 위 그림에서 각 점은 node 혹은 vertex라고 말하고 두 점을 잇는 선을 edge라고 한다. 그래프는 V(vertex 혹은 node), E(edge)의 집합이다. 따라서 G(V, E)로 표현하기도 한다.