레드블랙트리 공부하다가 이상해서 올립니다..
2010-07-20
|
by icestone
3834
레드블랙트리 노드제거에 대해서...
262p를 보면 이중흑색 노드에 관해 나옵니다...
예제로 그려진 트리는 1.형제가 빨간색인경우 가 맞아떨어지는데..
제가 연습을 할려고 다른 트리를 만들어 적용해보았는데요..안되서...
제가 만든 트리입니다..
( black )
/ \
(black) (black)
/ \ \
(Red) (black) <-삭제 (black)
/ / /
(black) (black) (black)
/
(black)
------------------------------------------------------------
( black )
/ \
(black) (black)
/ \ \
(Red) (black)■ (black)
/ /
(black) (black)
/
(black)
이렇게 된 다음...이중흑색노드의 부모노드를 Red로 형제노드를 Black으로
바꿔버리면..
( black )
/ \
(red) (black)
/ \ \
(black) (black)■ (black)
/ /
(black) (black)
/
(black)
그리고 책에 서술되어있는대로...회전을 시키면
---------------------------------------------------
( black )
/ \
(black) (black)
/ \ \
(black) (Red) (black)
/ \ /
(black) (black) (black)
이렇게 되네요...왼쪽 하위트리는 검은색줄기노드가 3개 가운데는 2개 오른쪽은 3개가 되서
갯수가 맞지 않는데요... 가운데 레드를 블랙으로 바껴야할듯 한데요...
지금 다시..책을 보니..뒷부분에..규칙재생성 함수를 부르는것 같은데...
아직 보질 않아서..이게 고쳐지는지는 못봣네요...
만약된다면...별 상관이 없겟지만..
책을 보는 입장에서...보다가 헷갈려버리는 경우가 많습니다..
뒤에 설명이 되어잇을지도 모르지만..중간에 막혀버리면 막막합니다..ㅠㅠ
추가적인 설명이 안되서 그런것 같은데요...애프터서비스가 질문만 답변해주는게 아니라..
내용에서 빠져 책에 부족한 점을 메꿔주셧으면 합니다...