728x90
Java에서는 트리 구조를 활용하는 다양한 방법이 있습니다. 트리는 계층적인 데이터를 표현하는 데 적합한 자료구조로, 파일 시스템, DOM(Document Object Model), 힙(heap) 등 다양한 곳에서 활용됩니다.
자바에서는 트리를 직접 구현할 수도 있지만, 표준 라이브러리에서 제공하는 TreeSet, TreeMap 등의 클래스를 통해 트리를 사용할 수도 있습니다. 이들 클래스는 내부적으로 레드-블랙 트리(Red-Black Tree), 일종의 이진 탐색 트리를 사용하여 데이터를 저장합니다.
TreeSet:
TreeSet은 정렬된 위치에 원소를 저장하고, 중복된 값을 허용하지 않는 Set 인터페이스의 구현체입니다. 원소의 추가, 삭제, 검색 등의 연산을 로그 시간에 할 수 있습니다.
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(3);
treeSet.add(1);
treeSet.add(2);
System.out.println(treeSet); // 출력: [1, 2, 3]
}
}
TreeMap:
TreeMap은 키와 값의 쌍을 저장하는 Map 인터페이스의 구현체입니다. 키에 대한 순서를 유지하며, 키의 추가, 삭제, 검색 등의 연산을 로그 시간에 할 수 있습니다.
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
TreeMap<String, Integer> treeMap = new TreeMap<>();
treeMap.put("apple", 3);
treeMap.put("banana", 2);
treeMap.put("cherry", 1);
System.out.println(treeMap); // 출력: {apple=3, banana=2, cherry=1}
}
}
이 외에도, 트리는 그래프 알고리즘에서도 활용됩니다. 예를 들어, 이진 탐색 트리, AVL 트리, B-트리 등은 데이터베이스, 파일 시스템 등에서 사용되며, 트리를 활용한 다양한 그래프 알고리즘이 있습니다.
728x90
'Java > Data Structure(Java)' 카테고리의 다른 글
Java에서의 그래프(Graph) 활용 (1) | 2023.12.07 |
---|---|
Java에서의 해시(Hash) 활용 (1) | 2023.12.07 |
Java에서의 큐(Queue) 활용 (1) | 2023.12.06 |
Java에서의 스택(Stack) 활용 (0) | 2023.12.06 |
Java에서의 연결 리스트(LinkedList) 활용 (0) | 2023.12.06 |