[자료구조] 이진 탐색 트리(Binary Search Tree)

2025. 2. 25. 21:55·자료구조&알고리즘/자료구조

정의

왼쪽 서브 트리의 모든 값이 부모 노드보다 작고, 오른쪽 서브 트리의 모든 값이 부모 노드보다 큰 이진 트리

  • 서브 트리 : 자식 노드로부터 뻗어나가는 하위 트리
  • 이진 트리 : 자식이 최대 2개까지 있는 트리 구조

 

특징

  • 삽입, 삭제, 탐색, 갱신 모두 O(logN)의 시간이 걸린다.
    • 단, 한쪽 부분에 값이 몰리는 편향이 발생할 수 있는데, 이 편향이 심해질수록 성능이 저하된다.
  • 삽입 시 자동으로 원소가 크기 순으로 정렬되어 저장된다.
    • 특정 노드보다 작거나 큰 최초의 노드가 무엇인지 O(logN)에 알아낼 수 있다.
  • 편향된 이진 트리를 균형 있게 다시 배치해 편향을 해소한 트리를 자가 균형 트리라 한다.
    • 대표적으로 AVL트리와 Red Black 트리가 있다.
  • O(N^2)보다 빠른 속도로 데이터의 대소 관계가 필요한 경우 유용하게 쓸 수 있다.
    • 또한 삽입/삭제 연산도 빈번하게 일어난다면 활용도가 더욱 높아진다.

 

 

저작자표시 비영리 변경금지

'자료구조&알고리즘 > 자료구조' 카테고리의 다른 글

[자료구조] 그래프(Graph)  (0) 2025.02.28
[자료구조] 우선순위 큐(Priority Queue, Heap)  (0) 2025.02.27
[자료구조] 해시(Hash)  (0) 2025.02.25
[자료구조] 덱(Deque)  (0) 2025.02.15
[자료구조] 큐(Queue)  (0) 2025.02.15
'자료구조&알고리즘/자료구조' 카테고리의 다른 글
  • [자료구조] 그래프(Graph)
  • [자료구조] 우선순위 큐(Priority Queue, Heap)
  • [자료구조] 해시(Hash)
  • [자료구조] 덱(Deque)
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[자료구조] 이진 탐색 트리(Binary Search Tree)
상단으로

티스토리툴바