자료구조 - R트리(R-Tree)

2024. 11. 16. 15:00·이론공부

□ R-Tree 개념

R-Tree는 점, 선, 면과 같은 2차원 이상의 공간 정보를 효율적으로 저장하기위한 자료구조로 위치기반 데이터에서 자주 사용된다.

 

□ R-Tree 구조

R-Tree는 여러개의 노드에 MBR(최소 경계 사각형)을 저장하여 그안에 포함되는 객체들의 공간을 나타낸다.

□ MBR(최소 경계 사각형)

각 객체에 사각형으로 경계를 만들고 묶어서 표현하면 아래와 같다.

MBR(최소 경계 사각형)

 

 

위 MBR을 트리로 나타내면 아래와 같다.

 

  • 부모 노드(Parent Node): 한 노드에 대해 바로 위에 연결된 노드.
  • 자식 노드(Child Node): 한 노드에 대해 바로 아래에 연결된 노드.
  • 리프 노드(Leaf Node): 자식이 없는 노드. 트리의 끝을 나타냄.
  • 형제 노드(Sibling Node): 같은 부모 노드를 공유하는 노드들.

□ R-Tree와 B-Tree의 차이점

구분 R-Tree B-Tree
데이터 타입 2차원 이상의 공간 데이터 정렬된 일반 데이터(숫자 ,문자열 등)
노드 구성 방식 MBR(최소 경계 사각형) 키-값 쌍으로 저장
검색 방식 범위와 영역 단일 값
노드 분할 방식 겹침을 최소화하는 알고리즘으로 분할 중간값 기준으로 분할
사용처 위치기반, 공간데이터 검색에 사용  정렬된 데이터 검색 시 사용

 

'이론공부' 카테고리의 다른 글

CORS(Cross-Origin Resource Sharing)  (0) 2025.02.13
객체지향과 SOLID원칙  (0) 2025.02.06
DB 인덱싱(Database Indexing)  (0) 2024.11.10
기술면접 준비(2)  (1) 2024.09.30
프록시(Proxy)란?  (0) 2024.09.05
'이론공부' 카테고리의 다른 글
  • CORS(Cross-Origin Resource Sharing)
  • 객체지향과 SOLID원칙
  • DB 인덱싱(Database Indexing)
  • 기술면접 준비(2)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자료구조
    java 유클리드 호제법
    프로그래머스 java 기초트레이닝
    java two-pointer
    java super
    java arrays.copyofrnage()
    프로그래머스 java 기초 트레이닝
    java 멤버
    데이터 크기
    java
    Java this
    java 제어자
    java enhance switch
    java 세수의합
    개발로드맵
    Java 생성자
    java기초
    java 에라토스테네스의 체
    java 메서드
    데이터 타입
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
자료구조 - R트리(R-Tree)
상단으로

티스토리툴바