Development/Data Structure
-
[자료구조] Graph(그래프)Development/Data Structure 2020. 5. 3. 16:56
다룰 내용 그래프란 무엇인가? 그래프의 종류 그래프를 표현할 수 있는 방법 그래프란 무엇인가? 정점들의 집합과 이들을 연결하는 간선들의 집합으로 구성된 자료구조를 의미합니다. 그래프의 종류 무향그래프: 간선의 방향이 없는 그래프입니다. 유향그래프: 간선의 방향이 있는 그래프입니다. 가중치 그래프: 정점에서 정점으로 이어진 간선에 가중치가 있는 그래프입니다. 사이클이 없는 방향 그래프(DAG, Directed Acyclic Graph): 사이클이 존재하지 않는 유향 그래프를 말합니다. 완전 그래프: 정점들에 대해 가능한 모든 간선들을 가진 그래프입니다. M개의 정점을 가지는 완전 그래프는 최대 M(M - 1) / 2 간선 수를 가집니다. 부분 그래프: 원래 그래프에서 일부의 정점이나 간선을 제외한 그래프입..
-
[자료구조] Priority Queue(우선 순위 큐)Development/Data Structure 2020. 5. 3. 16:05
다룰 내용 Priority Queue란 무엇인가? Priority Queue 구현 방법 PrioriyQueue의 우선 순위 기준 부여하기(Java) - Comparable, Comparator Priority Queue란 무엇인가? 우선 순위에 따라 데이터가 추출되는 자료구조입니다. 따라서 들어간 순서에 상관없이 우선 순위가 높은 데이터가 먼저 추출됩니다. Prioriy Queue를 구현하는 방법 배열로 구현하는 방법 연결 리스트로 구현하는 방법 Heap을 이용하는 방법 배열로 구현하는 방법 구현하는 방법은 간단하나 데이터 삽입 및 삭제가 일어날 때마다 당기거나 미는 연산을 계속해서 연산이 많다는 단점이 있습니다. 또한 들어오는 데이터의 삽입 위치를 결정하기 위해 저장되어 있는 모든 데이터들과 우선 순위..