트리: 두 판 사이의 차이
K-위키
옛@Korea323 (토론) 편집 요약 없음 |
옛@Korea323 (토론) |
||
| 38번째 줄: | 38번째 줄: | ||
해당 코드의 둘째 줄 또한 마찬가지로 1에서 2로 가는 편도 길이 존재한다는 것을 의미한다. | 해당 코드의 둘째 줄 또한 마찬가지로 1에서 2로 가는 편도 길이 존재한다는 것을 의미한다. | ||
== '틀:'을 잘못 쳐서 나오는거== | == '틀:'을 잘못 쳐서 나오는거== | ||
: 대신 | ':' 대신 'ㅣ'를 눌러서 트리 쳐지면 여기로 워프된다. | ||
2020년 6월 25일 (목) 18:23 판
영단어
Tree.
한마디로 나무. 크리스마스 트리 같은 거다.
컴퓨터 용어
컴퓨터 과학에서 트리란 사이클이 없는 그래프를 말한다.
트리를 구성하는 요소에는 크게 두 가지가 있다.
첫 번째는 Node이고, 두 번째는 edge이다.
동그라미하고 선이라고 보면 참 편하다.
트리의 종류에는 또 크게 두 가지가 있는데, directed와 undirected 그래프가 있다.
이는 방향성이 있는 그래프와 방향성이 없는 그래프를 뜻한다.
방향성이 있다는 것은, 편도라는 것이고 방향성이 없다는 것은 왕복이라는 것이다.
생각해보면 참 편한 자료구조이다.
구현에는 두 가지 방식이 있는데 배열로 무식하게 때려박는 방식과 벡터를 사용하는 방식이 있다.
배열로 무식하게 때려박는 방식
int tree[N][N] tree[1][2] = 1;
해당 코드의 둘째 줄은 1번 노드에서 2번 노드로 가는 편도 길이 존재한다는 것을 의미한다.
벡터로 스마트하게 박는 방식 이 방식은 공간을 아낄 수 있다. 위의 배열 방식은 무조건 (자료 사이즈)*N^2 바이트의 공간을 요구한다.
vector<int> tree[N]; tree[1].push_back(2);
해당 코드의 둘째 줄 또한 마찬가지로 1에서 2로 가는 편도 길이 존재한다는 것을 의미한다.
'틀:'을 잘못 쳐서 나오는거
':' 대신 'ㅣ'를 눌러서 트리 쳐지면 여기로 워프된다.