이진 탐색 트리란?(What is a Binary search tree?) 이진 탐색 트리(Binary Search Tree, BST)는 이진 트리에서 자료의 탐색, 삽입, 삭제를 효율적으로 하기 위해 만들어진 트리이다. 연결 리스트의 경우 삽입, 삭제시 O(1)의 시간 복잡도를 가진다. 그러나 자료를 탐색하는 경우 O(n)의 시간 복잡도를 가진다. 반면 이진 탐색 트리의 경우 트리의 높이를 h라고 했을 때 O(h)의 시간 복잡도를 가진다.(노드의 개수를 n이라고 하면 O(Log n)의 시간 복잡도를 가짐) 다음은 이진 탐색 트리의 정의이다. 정의 이진 탐색 트리는 공백이 가능한 이진 트리로서, 공백이 아닐 경우 다음의 조건들을 만족한다. 모든 노드는 이진 탐색 트리내에서 유일한 키를 갖는다. 임의의 노..