이진 탐색 트리(Binary Search Tree, BST)는 트리 구조의 일종으로, 각 노드가 하나의 값과 두 개의 자식 노드(왼쪽 자식과 오른쪽 자식)를 가지는 구조입니다. 이진 탐색 트리의 특징은 각 노드의 왼쪽 자식 노드는 해당 노드의 값보다 작고, 오른쪽 자식 노드는 해당 노드의 값보다 크다는 규칙을 따릅니다.
최선의 경우 (균형 상태 트리)
탐색 (Search): O(log n)
삽입 (Insertion): O(log n)
삭제 (Deletion): O(log n)
최악의 경우 (한 쪽으로 치우친 트리)
탐색 (Search): O(n)
삽입 (Insertion): O(n)
삭제 (Deletion): O(n)
자식이 없는 leaf 노드일 때 → 그냥 삭제
자식이 1개인 노드일 때 → 지워진 노드에 자식을 올리기
자식이 2개인 노드일 때 → 오른쪽 자식 노드에서 가장 작은 값 or 왼쪽 자식 노드에서 가장 큰 값 올리기
successor 노드란
right subtree에 최소값
즉, inorder 순회에서 다음 노드를 말합니다.
피드백 및 개선점은 댓글을 통해 알려주세요😊