[Algorithm] 이진 탐색 트리
알고리즘2023. 7. 24. 20:45[Algorithm] 이진 탐색 트리

이번글은 이진 탐색 트리(Binary Search Tree)에 대해 알아보고 구현을 해보도록 하겠습니다. 이번글의 BST는 균형의 개념이 안 들어간 BST입니다. (다음글에 균형잡는 AVL 트리를 이어서 적도록 하겠습니다.) 먼저 이진탐색 트리의 개념부터 살펴보도록 하겠습니다. BST는 이진트리의 확장된 버전입니다. (힙도 이진트리의 일종이지만 힙은 "완전 이진 트리"입니다.) 이진트리는 자식노드를 두개를 가지는 자료구조입니다. 이진트리를 기반으로 구현되어 있고 데이터를 빠르게 찾는데에 최적화 되어 있습니다. O(Log 2)를 탐색하는데 가집니다. BST의 핵심은 "삽입", "탐색", "삭제"입니다. 삽입의 핵심로직을 살펴보면 Root보다 값이 작다면 왼쪽에 데이터를 삽입하고 Root보다 값이 크다면 오..

image