[알고리즘 과제 A+] 레드 블랙 트리와 B-트리를 작업 시간 측면에서 비교하시오. 각각 상대방에 비해 시간이 더 드는 부분과 덜 드는 부분에 대해 분석하여 정리하시오.
- 최초 등록일
- 2022.05.23
- 최종 저작일
- 2021.12
- 9페이지/ MS 워드
- 가격 2,000원
소개글
"[알고리즘 과제 A+] 레드 블랙 트리와 B-트리를 작업 시간 측면에서 비교하시오. 각각 상대방에 비해 시간이 더 드는 부분과 덜 드는 부분에 대해 분석하여 정리하시오."에 대한 내용입니다.
목차
I. 서론
II. 본론
1. 레드 블랙 트리
2. 레드 블랙 트리와 B-트리의 특징 비교
3. 레드 블랙 트리와 B-트리의 효율성 차이
III. 결론
본문내용
I. 서론
이진 탐색 트리는 트리의 균형이 안 맞으면 매우 비효율적으로 작업을 수행한다는 단점이 있었다. 이를 해결하기 위해, 스스로 균형을 맞출 수 있는 트리가 만들어졌고 이 트리의 종류 중에는 레드 블랙 트리와 b-트리가 있다. 이 두 트리는 여러 공통점이 있지만, 작업을 수행하는 방식이 다르며 효율성 측면에서도 각자 더 나은 면이 있다. 레드 블랙 트리의 개념과, B- 트리와의 차이점, 그리고 이 두 트리의 작업 효율성이 어떻게 다른지 알아보자.
II. 본론
1. 레드 블랙 트리
레드 블랙 트리의 개념
레드 블랙 트리는 이진 탐색 트리의 일종으로, 이진 탐색 트리에 균형을 맞추는 기능이 추가되어 있는 자가 균형 이진 탐색 트리이다. 좌우 서브트리의 균형을 항상 맞추기 때문에, 최악의 경우에도 일정한 수행시간을 보장한다. 모든 노드에 블랙 또는 레드의 색을 칠하고, 레드 블랙 특성을 만족해야 하는 구성이다. 이진 탐색 트리와 탐색의 과정이 동일하며, 부모 노드보다 작은 값의 노드는 왼쪽, 큰 값의 노드는 오른쪽에 배치한다. 삽입이나 삭제 시에는 레드 블랙 특성을 위반하게 되었다면, 색 변환과 트리 회전이 필요하다. 트리 회전의 시간복잡도는 O(1)이며, 이 과정에서도 이진 탐색 트리의 특성을 유지한다. 삽입 및 삭제 과정이 복잡해져도, 균형 트리로서 효율을 어느 정도 보장하므로 복잡도는 여전히 O(log n)이다. 리프 노드들은 NIL 노드라고 부르며, 자료를 가지고 있지 않다.
레드 블랙 특성
각 노드는 레드나 블랙이어야 하며, 루트 노드는 무조건 블랙이다. 레드 노드의 자식 노드는 무조건 블랙이지만, 블랙 노드는 연속이 가능하다. 모든 NIL 노드는 블랙이며, 자료를 가지지 않은 상태로 트리의 끝을 나타내는 데 쓰인다. 자식 노드가 존재하지 않으면 NIL 노드가 있다고 가정하며, 루트의 부모도 NIL 노드라고 가정한다. 그리고 루트 노드에서 NIL 노드까지 이르는 경로에 있는 블랙 노드의 수는 모두 동일하다.
참고 자료
알고리즘 교안, 류금한, 메가존아이티평생교육원, 2021
쉽게 배우는 알고리즘, 문병로, 한빛아카데미, 2018