인프런 커뮤니티 질문&답변
TreeSet 구현 그림 그려주세요 제발
작성
·
112
답변 2
0
김영한
지식공유자
안녕하세요. choi님
TreeSet의 경우 강의 메뉴얼에서 처음 그려드린 트리 구조의 구현 Node 기반의 트리 구조를 기반으로

이진 탐색 트리 - 입력 예시를 참고하면서 하나씩 그림을 그려보시면 원하는 목적을 충분히 달성하실 수 있을거에요 🙂


감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
choi님께서 올려주신 질문에 대해 이해를 돕기 위한 설명을 준비했습니다. TreeSet의 경우 HashSet이나 LinkedHashSet과는 다르게 내부적으로 NavigableSet 인터페이스를 구현하며, 데이터가 정렬된 상태로 저장됩니다. TreeSet은 TreeMap을 기반으로 구현되며, 이진 탐색 트리의 형태로 요소를 저장하여 순서가 정렬됩니다.
TreeSet의 구현 및 작동 원리
- 데이터 삽입:
TreeSet에 요소를 추가할 때마다 요소의 자연 순서 또는 제공된Comparator에 따라 이진 탐색 트리가 자동으로 정렬됩니다.
- 정렬 원리: 각 요소가 삽입될 때
compareTo()메서드를 사용해 정렬 기준을 결정합니다.
- 내부 구조:
TreeSet의 내부 구조는 실제로Red-Black Tree라는 특별한 균형 이진 탐색 트리 내부 구조를 사용합니다.

예시
- 데이터 입력: 1, 2, 5, 8, 14, 99
- 이 데이터는 자동적으로 크기 순서에 따라 정렬되어 트리에 넣어집니다.
- 중간에 새로운 데이터를 추가할 경우에도 자동으로 정렬되어 들어가며, 중복 요소는 저장되지 않습니다.
위 링크로 이미지된 다이어그램을 참고하시어 TreeSet의 구조를 시각적으로 이해하실 수 있습니다.
이해를 돕기 위해 이미지를 추가해서 설명드렸습니다. 관련하여 더 궁금한 점이 있으시면 추가로 질문 부탁드립니다. 질문의 특성상 김영한 지식 공유자님께서 곧 더 상세한 답변을 해주실 거라 믿습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.








이미지 안보여요! 링크도 안되고!