본문 바로가기
728x90
반응형

BASE/Structure17

자료구조 - 최소 신장 트리 (MST, Minimum Spanning Tree) [개요] 1. 트리란? 1) 무향 그래프 G가 순환이 없는 그래프이면 G는 숲이다. 2) 무향 그래프 G가 순환이 없는 연결 그래프이면 G는 트리이다. - G는 순환이 없고, 단순 그래프에서 간선을 추가할 경우 순환이 생긴다. - G는 연결 그래프이고, 어떤 간선을 제거하면 연결그래프가 아니다. - G의 어떤 두 정점에 대해서 단순 경로가 하나 존재한다. 2. 신장 트리 (Spanning Tree) - 무향 연결 그래프 G의 부분그래프이고 G의 모든 정점을 포함하는 트리(Tree)인 그래프 1) 깊이 우선 신장 트리 (DFS Spanning Tree) 무향 연결 그래프 G에서 깊이 우선 탐색(DFS)으로 탐색하면서 생성된 신장 트리 (Spanning Tree) 2) 너비 우선 신장 트리 (BFS Span.. 2021. 2. 2.
자료구조 - 비순환 방향 그래프 (DAG, Directed Acyclic Graph) 1. 비순환 방향 그래프란? 비순환 방향 그래프(DAG, Directed Acyclic Graph)란 순환을 가지지 않는 방향그래프를 말한다. 일반적으로 우선순위를 가진 일련의 작업들은 DAG구조를 가진다. 1) 선행자(predecessor), 후행자(successor) DAG에서 어떤 정점 vi, vj에 대해서 vi에서 vj로의 경로가 존재하면, vi, vj의 선행자(predecessor), vj는 vi의 후행자(successor)라고 한다. 2) 즉각 선행자(immediate predecessor), 즉각 후행자(immediate successor) DAG에서 어떤 정점 vi, vj에 대해서 vi에서 vj로의 간선이 존재하면, vi를 vj의 즉각 선행자(immediate predecessor), vj.. 2021. 2. 2.
자료구조 - 서로소 집합 1. 서로소 집합이란? 서로소 집합(Disjoint Set)이란 교집합이 공집합인 집합들의 정보를 확인(Find)하고 조작(Union)할 수 있는 자료구조이다. - Union 연산 : 어떤 두 원소 a, b에 대해서 union(a, b)는 각 원소가 속한 집합을 하나로 합치는 연산 - Find 연산 : 어떤 원소 a에 대해서 a가 속한 집합(집합의 대표번호)을 반환 2. 서로소 집합의 표현(Disjoint Set, Union-Find) 3. 서로소 집합의 구현 및 최적화 1) 초기화 : parent 배열에 i원소에 대한 부모 노드 번호를 저장, 루트 노드인 경우 자기 자신의 번호를 저장 function initialize() for i : 1 ~ N parent[i] = i 2) Union 연산 : 하나.. 2021. 2. 2.
자료구조 - 그래프 1. 그래프란? 그래프(Graph)는 현실세계의 사물이나 개념 간의 연결 관계를 수학적 모델로 단순화 하여 표현한 것이다. 수학정 정의 : 정점 집합 V = {v1, v2, v2, ..., vn} 이고, 정점간의 연결 관계들을 나타내는 간선 집합 E = {(vi, vj)/vi ∈ V, vj ∈ V} ⊆ V x V 일 때, 그래프 G = (V, E) 이다. 2. 그래프 용어 1) 무향 간선 (Undirected Edge) - 정점을 연결하는 간선에 방향이 존재하지 않는다. - 임의의 간선 (vi, vj)에 대해서 (vi, vj) = (vj, vi)이다. 2) 유향 간선 (Directed Edge) - 정점을 연결하는 간선에 방향이 존재한다. - 임의의 간선 (vi, vj)에 대해서 (vi, vj) ≠ (v.. 2021. 2. 2.
자료구조 - 맵 (Map) 1. 맵이란? 맵(Map)이란 탐색 가능한 Key와 Value로 이루어진 객체를 저장하는 자료구조로 Set과 같이 Key값의 중복을 허용하지 않으며 value값은 제약이 없다. 삽입, 삭제, 탐색의 세 가지 연산을 지원한다. 구현 방식에 따라 해쉬 맵, 트리 맵 등이 존재한다. 각각의 특징은 해쉬 세트, 트리 세트와 동일하다. 2021. 1. 27.
자료구조 - 세트 (Set) 1. 세트란? 세트(Set)이란 집합을 정의하는 자료구조로 동일한 자료형을 모아놓은 것이다. 집합의 모든 원소(Key)는 유일해 중복이 허용되지 않는다. 삽입, 삭제, 탐색의 세 가지 연산을 지원한다. 구현 방식에 따라 해시 셋, 트리 셋 등이 존재한다. 2. 해시 세트 - 해시 세트(Hash Set)이란 해싱을 이용해 데이터를 저장하는 방법 - 모든 연산이 O(1)에 수행되기 때문에 가장 빠르다. - Key값을 나열했을 때 순서를 예측할 수 없다. 3. 트리 세트 - 트리 세트(Tree Set)이란 일반적으로 균형 이진 검색 트리(Balanced Binary Search Tree) 중 레드 블랙 트리(Red-black Tree)로 구현되어 있다. - 모든 연산이 O(logN)에 수행된다. - key 값.. 2021. 1. 27.
728x90
반응형