본문 바로가기
728x90
반응형

자료구조-알고리즘/비선형 자료구조6

비선형 자료구조: 트라이(Trie) 이번 글에서는 비선형 자료구조 중 하나인 '트라이'에 대해 상세히 설명하고, 자바에서 트라이를 사용하는 예제 코드를 제공하겠습니다. 먼저, 트라이의 개념과 원리를 살펴보고, 그다음으로 자바에서 트라이를 사용하는 방법과 기본 연산에 대해 알아보겠습니다. 마지막으로 성능 측면을 고려한 구현 방법을 설명하겠습니다. 1. 트라이의 개념 및 원리 트라이(Trie)는 검색 트리의 한 종류로, 문자열 검색에 매우 유용한 자료구조입니다. 각 노드가 배열을 가지며 이 배열은 각각의 문자(예: 알파벳)를 가리킵니다.이런 방식으로 문자열을 저장함으로써 빠른 검색 속도와 메모리 절약 등의 이점을 얻을 수 있습니다. 트라이는 'retrieval'의 첫 세 글자에서 이름을 따왔으며, 이는 검색 및 회수(retrieval) 작업에.. 2023. 8. 30.
비선형 자료구조: 우선순위 큐(Priority Queue) 이번 글에서는, 우선순위 큐의 개념과 원리를 상세히 설명하고, 자바에서 우선순위 큐를 사용하는 예제 코드를 제공하겠습니다. 먼저, 우선순위 큐의 개념과 원리를 살펴보고, 그다음으로 자바에서 우선순위 큐를 사용하는 방법과 기본 연산에 대해 알아보겠습니다. 마지막으로 성능 측면을 고려한 구현 방법을 설명하겠습니다. 1. 우선순위 큐의 개념 및 원리 우선 순위 큐는 이름에서 알 수 있듯이 각 요소가 어떤 '우선행'을 가지는 추상적인 데이터 유형입니다. 이 '우선행'은 보통 요소의 값에 의해 결정되며, 때로는 별도의 비교 함수에 의해 결정됩니다. 일반적인 배열이나 리스트와 달리, 데이터가 추가되거나 제거됨에 따라 동적으로 재정렬됩니다. 2. 자바에서의 우선순위 큐 사용법 및 주요 기능 자바에서는 Priority.. 2023. 8. 29.
비선형 자료구조: 힙(Heap) 이번 글에서는 비선형 자료구조 중 하나인 힙(heap)에 대해 상세히 설명하고, 자바에서 힙을 사용하는 예제 코드를 제공하겠습니다. 먼저, 힙의 개념과 원리를 살펴보고, 그다음으로 자바에서 힙을 사용하는 방법과 기본 연산에 대해 알아보겠습니다. 마지막으로 성능 측면을 고려한 구현 방법을 설명하겠습니다. 1. 힙의 개념 및 원리 힙은 완전 이진트리(complete binary tree)를 기반으로 한 비선형 자료구조로서, 각 노드가 하위 노드보다 작거나 큰 값을 가지는 속성(최소-힙 또는 최대-힙)을 가집니다. 이러한 속성 때문에 우선순위 큐와 같은 데이터 구조를 구현하는데 매우 유용합니다. 최소-힙(Min Heap): 부모 노드의 값이 자식 노드의 값보다 항상 작거나 같은 완전 이진트리입니다. 따라서 최.. 2023. 8. 28.
비선형 자료구조: 그래프(Graph) 이번 글에서는 비선형 자료구조 중 하나인 그래프(graph)에 대해 상세히 설명하고, 자바에서 그래프를 사용하는 예제 코드를 제공하겠습니다. 먼저, 그래프의 개념과 원리를 살펴보고, 그다음으로 자바에서 그래프를 사용하는 방법과 기본 연산에 대해 알아보겠습니다. 마지막으로 성능 측면을 고려한 구현 방법을 설명하겠습니다. 1. 그래프의 개념 및 원리 그래프는 노드(node)들이 간선(edge)으로 연결된 비선형 자료구조입니다. 간선은 두 노드 사이의 관계를 나타내며, 이러한 간선은 방향성을 가질 수도 있고(방향성이 있는 경우 이런 그래프를 '유향그래프'라 부릅니다), 가중치(weight)가 부여될 수도 있습니다. Vertex: 그래프의 구성 요서(=Node) Edge: 정점(Vertex) 간 연결관계 Wei.. 2023. 8. 27.
728x90
반응형