열심히 살아나갈 사람
article thumbnail

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-트리 등은 데이터베이스, 파일 시스템 등에서 사용되며, 트리를 활용한 다양한 그래프 알고리즘이 있습니다.

profile

열심히 살아나갈 사람

@쿼리_

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!