[자료구조] 그래프(Graph)
그래프(Graph) 선형 자료구조나 트리 자료구조로 표현하기 어려운 관계를 가지는 원소들을 표현하기 위한 자료구조 그래프 G는 객체를 나타내는 정점(vertex)과 객체를 연결하는 간선(edge)의 집합이다. V는 그래프에 있는 정점들의 집합 E는 정점을 연결하는 간선들의 집합 무방향 그래프(Undirected Graph) 두 정점을 연결하는 간선의 방향이 없는 그래프이다. 정점 Vi와 정점 Vj를 연결하는 간선을 (Vi, Vj)로 표현한다. 이때 (Vi, Vj)와 (Vj, Vi)는 같은 간선을 의미한다. 위의 그래프를 집합으로 표현하면 다음과 같다. V(G1) = {A, B, C, D} E(G1) = {(A,B), (A,D), (B,C), (B,D), (C,D)} V(G2) = {A, B, C} V(G..
2023. 5. 29.
[자료구조] 트리(Tree)
트리(Tree) 트리(Tree)는 원소들 간에 1 : N 관계를 가지는 비선형 자료구조이다. 한 개 이상의 노드(node)로 이루어진 유한 집합으로서 노드 중에는 루트(root)라고 하는 노드가 하나 있고 나머지 노드들은 n(>=0)개의 분리집합 T1, ,,, Tn으로 분할될 수 있다. 여기서 T1, ,,, Tn은 각각 하나의 트리이며 루트의 서브트리(subtree)라고 한다. 한 노드의 서브트리의 수를 그 노드의 차수(degree)라고 한다. 예를 들어 트리의 구조가 다음과 같을 때, A의 차수는 3이고, C의 차수는 1, L의 차수는 0이다. 차수가 0인 노드를 리프(leaf) 또는 단말 노드(terminal node)라 한다. 그 외의 나머지 노드들은 비단말 노드(nonterminal node)라 ..
2023. 5. 29.