메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 알고리즘

뇌를 자극하는 알고리즘 질의응답 게시판입니다.

레드 블랙트리 관련 질문합니다.

2012-09-13

|

by ban007

2363

레드 블랙트리를 공부하다보니 궁금증이 생겨서 질문을 드립니다.

1.회전연산이 사용하는 이유가 어떤것 입니까?
이런 이유때문에 사용한다고 구체적으로 언급이 되어있지 않아서,
레드블랙트리는 삽입, 삭제 연산시에 노드의 색깔을 변형시키거나 노드의 위치를 변경하여 규칙을 유지하는데, 이때 회전연산이 부모와 자식간의 위치 변경을 함으로써 규칙을 유지하는데 이용 된다고 제 나름대로 이해를 해보았습니다.

제가 제대로 이해한것이 맞는지요?
또, 회전연산을 사용하는 이유가 단순히 규칙유지 말고 다른 이유가 있는지요?

2. 이건 오타인거 같은데
4판, 263페이지 위에서 2번째 줄에 보면
"제가 설명은 이중흑색 노드가 왼쪽 자식인 경우를 기준으로 했는데, 아래의 그림은 이중흑색 노드가 부모 노드의 오른쪽 자식인 경우를 설명하고 있습니다. 왼쪽 자식인 경우에 대해서는 여러분이 그림의 좌우를 반전시켜 노트에 직접 그려보기 바랍니다"
이렇게 써있습니다.
근데 막상 그림을 보면 이중흑색 노드로 표시된 것은 부모노드의 왼쪽에 있습니다.
                                                             A(흑)
                                         B(이중흑색)               D(빨강, 이중흑색 노드의 형제노드)
                                                               E(흑색)      F(흑색)
                                                  (빨간색노드)                    (흑색노드)
                                                               (흑색노드)
이런식으로 말입니다.
그림을 수정하거나, 위 문장을 빼야 할거 같습니다.
댓글 입력