힙(Heap)이란? 힙은 완전 이진 트리 기반의 자료구조로, 각 노드가 하위 노드보다 큰(또는 작은) 값을 가지는 것이 특징입니다. Java에서는 PriorityQueue 클래스를 통해 힙을 구현할 수 있습니다. Java에서 힙 구현 PriorityQueue는 내부적으로 힙 구조를 사용하여 요소들을 정렬합니다. 힙 선언 및 초기화 import java.util.PriorityQueue; PriorityQueue minHeap = new PriorityQueue(); // 최소 힙 PriorityQueue maxHeap = new PriorityQueue(Collections.reverseOrder()); // 최대 힙 힙에 데이터 추가 minHeap.add(10); minHeap.add(5); minHe..
해시 테이블(Hash Table)이란? 해시 테이블은 키(Key)를 값(Value)에 매핑하여 데이터를 저장하는 자료구조입니다. Java에서는 HashMap, Hashtable, LinkedHashMap 등의 클래스를 통해 해시 테이블을 구현합니다. Java에서 해시 테이블 구현 Java의 HashMap 클래스를 사용하여 해시 테이블을 구현할 수 있습니다. 해시 테이블 선언 및 초기화 import java.util.HashMap; import java.util.Map; Map hashMap = new HashMap(); 해시 테이블에 데이터 추가 hashMap.put("Apple", 40); hashMap.put("Banana", 30); hashMap.put("Cherry", 20); 해시 테이블에서 ..
그래프(Graph)란? 그래프는 노드(정점)들과 이들을 연결하는 간선들로 구성된 자료구조입니다. 네트워크, 소셜 미디어, 경로 찾기 등 다양한 분야에서 사용됩니다. Java에서 그래프 구현 Java에서는 그래프를 인접 리스트로 구현할 수 있습니다. 여기서는 간단한 그래프 구현을 보여드립니다. 사용자 정의 노드 클래스 class Node { int data; List adjacent; // 인접 노드 리스트 Node(int data) { this.data = data; adjacent = new ArrayList(); } // 인접 노드 추가 메서드 void addAdjacent(Node node) { adjacent.add(node); } } 그래프 클래스 class Graph { List nodes; ..
트리(Tree)란? 트리는 계층적 구조를 가진 비선형 자료구조로, 노드(Node)들이 부모-자식 관계로 연결된 구조입니다. Java에서 트리 구조는 주로 사용자 정의 클래스를 통해 구현되며, TreeSet과 TreeMap 같은 컬렉션 프레임워크를 통해서도 활용됩니다. Java에서 트리 구현의 기본 사용자 정의 트리 노드 클래스를 만들어 기본적인 트리 구조를 구현해봅시다. 사용자 정의 트리 노드 클래스 트리의 기본 구성 요소인 노드를 정의하는 클래스입니다. class TreeNode { int data; TreeNode left; TreeNode right; TreeNode(int data) { this.data = data; this.left = null; this.right = null; } } 트리 ..