Red-Black Tree.

Slides:



Advertisements
Similar presentations
2006/5/2 KOSOMAR 세미나 선거예측조사 방법론 김지연 이사 ( 밀워드브라운 미디어리서치 ) 1/11.
Advertisements

0 4 조 천호 뉴타운 답사. 1 INDEX 천호동의 지역 개요 및 입지여건 뉴타운 상업현황 및 투자분석 인근 기존 APT 의 최근 몇년간 가격추이 단독, 빌라, 다세대 등의 가격 동향 인근 APT 가격 동향 1, 2, 3 억 여유자금으로 실제 투자물건 제안.
2012 년 제 14 차 주간 품질 회의 (Conference For Quality Problem) ㈜아진카인텍 품질관리팀 일 시 :2012 년 5 월 10 일 결재결재 담 당담 당팀 장팀 장공장장.
시스템 프로그래밍 박진희 컴퓨터 시스템 연구실. 2 Project 3 Key-value store 유일한 Key 에 하나의 Value 를 가지고 있는 방식 - Key 와 Value 를 쌍으로 관리 - Hash table, B-Tree, B+ Tree 등 분산형 데이터베이스에서.
Page0 Ⅰ. 11 번가 제휴 사례 ( 공유용 ) 제휴사제휴내용결 과 tvN 프로그램 ‘ 렛미인 시즌 5’  여성의 자존감 향상을 위한 참여형 이벤트 “ 美스토리 토크콘서트 ” - 진행기간 : 5/15~5/26, 12 일간 ( 토크콘서트 진행일 : 6/4) - 참가.
2013 년 목 차 용어의 정의 위기경보 수준 국가 생물테러 대응 체계도 반 · 팀별 소방의 임무.
서울시 서대문구 충정로 3 가 139 동아일보사 7 층 Win 5·31 특집팀 Tel : ,0413,0417 Fax : · 31 지방선거 후보자 인터넷 광고 제안서.
이미지가 경쟁력이다 - 면접 이미지메이킹 - 김 성 연
언어의 자서전 소단원 (1) 단원. 언어의 특성 기호성 자의성 사회성 규칙성 창조성 역사성.
1990 년 대의 중국 대중 음악. (1) 배경 (2) 1990 년대 대중 음악 (3) 중국, 1990 년대의 분위기는 ? - 가사를 중심으로.
기름이 그린 그림 < 2007 ~ 2008 태안 진행 과정 >.
걷지말고 뛰어라 런닝맨 R R 런닝맨.
도매 반입 반품장 이전 및Lay-out 변경案
대중교통중심의 교통종합대책 대 구 광 역 시.
상품권 개발 계획서.
대구 지역공동 브랜드의 활성화 방안 대구동부고 모둠명 : 쉐도우(shadow) 이소희 박예림 이호수 천주영 오소령.
약이 되는 음식궁합 (건강증진, 질병예방 및 치료를 위한 재료 배합)
실험#2-A 반도체 다이오드의 특성 실험 1.실험목적 2. 서론 다이오드의 특성에 대해 조사한다.
연구사업통합 시스템 접수안내매뉴얼-연구자
보상플랜.
쉽게 배우는 알고리즘 6장. 해시 테이블Hash Table.
Horowitz, Sahni and Anderson-Freed Computer Science Press
쉽게 배우는 알고리즘 5장. 검색트리
생태복원공학 중간고사 요약.
쉽게 배우는 알고리즘 5장. 검색트리.
6시그마 그린벨트 교육 프로그램에 대한 연구(요약) 2006년 5월 20일 손 동 진 논문이력
기독교적 교육과정의 이해와 운영 기독교학교 경영관리과정 연수회 이 정미.
BLACK OUT 신개념 연합동아리 블랙아웃에서 1기를 모집합니다!
광고기획과 전략 -positioning의 4가지-
AVLTree vs 편향 Tree.
03월 (2주) 주간 품질회의 2016年 결 재 담 당 검토 검 토 승인 배 포 부 서 금창 협력사 품질 해인 개발 한미 생산
캠스몬_학원관리_ Quick Manual
웹접근성기반 스마트 UI/UX 디자인 제작 이보미.
IT R&D Global Leader 무선광대역망 다중 접속 모듈 로드밸런싱 기술 ETRI
11장 균형 탐색 트리.
회로망의 제 정리(Network Theorems)
Chapter 08 구조적 분석과 설계 8.1 구조적 분석(Structured Analysis)
T-Tree MMDB 강원대학교 컴퓨터 과학과 양 기 운
2015년12월 6 일 대강절 둘째주 주일낮예배.
Red Ocean전략 잃어버린 ‘흑자의 섬’을 찾아서 이상윤교수.
네트워크 설치 전 확인 사항 INTERNET INTERNET 인터넷 모뎀 (KT, SK , LG 등등 )
【 6월 1일 】 (‘오늘의 용기 내일의 희망’ 중에서...)
LTSystem in Korea since 2011
E0 : 교인들에 대한 보충적인 전도 E1 : 교회에 접촉해 본적이 없는 비 그리스도인에 대한 전도
2015년 12월 13 일 대강절 셋째주 성경주일 주일낮예배.
RB-406 사용설명서 1.기능 M RF 방식(개인 신용 카드 및 교통 카드 등록 사용).
CHAP 12:탐색 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
CHAP 12 : 탐색.
CHAP 12 : 탐색 C로 쉽게 풀어쓴 자료구조 생능출판사 2011.
6강 생산요소와 국제무역(1) 무역학과 한복연교수.
빛 의 합 성 과 학 1 학년 Ⅱ. 빛 > 2. 빛의 색( 8/8 ) [초기 화면]
조별 주제 발표 -기프트리(gifTree)-
현대카드 M 경영학과 4 나준호 3 이병주 3 신명택.
기본 테이블세팅(로맨틱) 푸드스타일리스트 전공 김선아.
다문화교육과 이주여성 2009년 6월 11일 첫 번째 강의 김현미 (연세대 문화인류학).
강의 #11 탐색(Search).
혼색 color mixture.
8.5 사람의 유전은 어떻게 연구하는가.
2-2. 집단과 조직 생활의 이해 사회 집단 사회 조직 관료제.
13장 인권 담당교수 : 박 해 긍.
제 5 장 탐색트리.
색의 체계 - 표색계 패션산업학부.
(Ⅰ) 독서와 언어의 본질 언어의 본질 1 2 [고등 국어] – 독서와 문법 독서의 본질 (1) 독서의 특성
LG 천정카세트형 에어컨 난방비용 제품별 난방시 소비전력 및 연료소비량 (3Hp 기준) 제품별 동절기(10~3월) 난방비용
MAGNI 585 THE MAGNI GROUP,ING. 제품 설명: 외관: 성능 데이타: 주요 이점: 사양:
그러나 사회복지사- 실천현장에서 2가지 이상의 가치 내지 윤리가 상충되는 가치갈등으로 인해 윤리적인 딜레마를 겪게 된다.
제23장 대공황과 일본의 장기불황 제1절 대공황 제2절 일본의 장기불황 제3절 맺음말.
식품 이물 보고 및 조사 지침 식품의약품안전청.
우울증 예방 관리 강사 :.
스플라인 단축부 스냅링 홈 높이 불량 개선 대책 LR1-1 SHELL –RR ANNULUS ( T)
Presentation transcript:

Red-Black Tree

레드-블랙 트리(1) 레드-블랙 트리(red-black tree) 노드 색깔이 레드나 블랙으로 된 이진 탐색 트리 노드의 성질 N1. 루트나 외부 노드는 모두 블랙 N2. 루트에서 외부 노드까지 경로상에 2개 연속된 레드 노드 없음 N3. 루트에서 외부 노드까지 경로에 있는 블랙 노드 수 같음 포인터의 성질 P1. 외부 노드를 연결하는 포인터는 블랙 P2. 루트에서 외부 노드까지 경로에 2개 연속된 레드 포인터 없음 P3. 루트에서 외부 노드까지 경로에 있는 블랙 포인터 수 같음 포인터 색깔을 알면 그 노드 색깔을 알 수 있고, 노드 색깔을 알면 그 포인터 색깔을 알 수 있음

레드-블랙 트리(3) ⇒ ⇒ 2-3-4트리를 레드-블랙 트리로 변환하는 방법 1) 2-노드는 그대로 레드-블랙 트리의 한 노드로 표현 2) 3-노드는 2개의 노드와 하나의 레드 포인터로 표현 3) 4-노드는 3개의 노드와 2개의 레드 포인터로 표현 5 3 T 1 2 ⇒ 또는 3-노드를 2개의 레드-블랙 노드로 변환 7 5 3 T 1 2 ⇒ 4 4-노드를 3개의 레드-블랙 노드로 변환

레드-블랙 트리(2) 10 20 4 2 6 15 30 1 3 5 21 32 31 33 레드-블랙 트리 예

레드-블랙 트리에서의 삽입(1) 레드-블랙 트리에서의 탐색 레드-블랙 트리에서의 삽입 일반 이진 탐색 트리의 탐색 연산으로 수행 탐색 시간 복잡도 : O(logn) 레드-블랙 트리에서의 삽입 일반 이진 트리에서 사용하는 연산과 비슷 새로운 노드 삽입 시, 노드에 색깔을 지정하는 작업 추가 트리가 공백 : 새로 삽입되는 노드는 루트가 되어 자연히 블랙 트리가 공백이 아닌 경우, 블랙 노드가 추가되면 P3 위반 트리가 공백이 아닌 경우, 레드 노드가 추가되면 P2 위반

레드-블랙 트리에서의 삽입(2) 불균형(imbalance) 불균형의 처리 새로운 노드(u)가 레드이기 때문에 성질 P2를 위반한 경우 노드 u, u의 부모 노드 p, u의 조부모 노드 g에 의한 유형 RRb, RRr, RLb, RLr도 위와 마찬가지 불균형의 처리 XYr(X,Y는 L 또는 R) 타입 : 색깔만 변환시켜 처리 XYb 타입 : 색깔만 변환시키면 P2가 위반되므로, 회전을 시켜 처리 LLb : p는 g의 왼쪽 자식, u는 p의 왼쪽 자식, g의 오른쪽 자식이 블랙인 경우 LLr : p는 g의 왼쪽 자식, u는 p의 왼쪽 자식, g의 오른쪽 자식이 레드인 경우 LRb : p는 g의 왼쪽 자식, u는 p의 오른쪽 자식, g의 오른쪽 자식이 블랙인 경우 LRr : p는 g의 왼쪽 자식, u는 p의 오른쪽 자식, g의 오른쪽 자식이 레드인 경우

레드-블랙 트리에서의 삽입(3) ⇒ ⇒ LLr과 LRr의 색깔 변환 g g p p u u T T g p T T 1 2 p 3 g 4 ⇒ u T 1 2 p 3 g 4 (a) LLr 불균형 처리 ⇒ p T 1 g 4 2 3 T 1 4 2 3 (b) LRr 불균형 처리 LLr과 LRr의 색깔 변환

레드-블랙 트리의 삽입에 대한 LLb와 LRb 회전 레드-블랙 트리에서의 삽입(4) p g T 4 u 2 3 1 ⇒ LLb 회전 (a) LLb 불균형 u T 1 2 g 3 4 p (b) LLb 회전 후 p T 1 g 4 u 2 3 ⇒ LRb 회전 (c) LRb 불균형 p T 1 2 g 3 4 u (d) LRb 회전 후 레드-블랙 트리의 삽입에 대한 LLb와 LRb 회전

레드-블랙 트리에서의 삽입(5) 레드-블랙 트리에 삽입(6, 3, 5, 4) 예 삽입에 따른 색깔 변환과 회전의 수행 1 8 7 2 (a) 초기 레드-블랙 트리 1 8 7 2 6 (b) 키 6 삽입 p 1 8 7 2 6 3 g p u (c) 키 3 삽입 1 8 7 6 3 u (d) LLr 색깔 변환

레드-블랙 트리에서의 삽입(6) 1 8 7 2 6 3 g p 5 u (e) 키 5 삽입 1 8 7 2 5 3 6 (f) LRb 회전 1 8 7 2 5 3 6 4 p g u (g) 키 4 삽입

레드-블랙 트리에서의 삽입(7) 1 8 7 2 5 3 6 4 p g u 5 2 7 1 3 6 8 4 (h) LRr 색깔 변환 (i) RLb 회전

레드-블랙 트리에서의 삭제(1) 레드-블랙 트리에서의 삭제 불균형 일반 이진 탐색 트리에서와 같은 삭제 연산 색깔 변환이나 단순 회전 수행 추가 노드 색깔에 따른 삭제 처리 레드 노드 삭제 : 경로의 블랙 노드 수에 영향을 주지 않음 블랙 노드 삭제 : 경로의 블랙 노드 수를 감소시켜 P3 위반 불균형 삭제된 노드(y)가 블랙이기 때문에 성질 P3를 위반한 경우 노드 y, y의 형제 v, y의 부모 p에 의한 유형 v가 블랙 노드 : Lb 또는 Rb 타입 v가 레드 노드 : Lr 또는 Rr 타입

레드-블랙 트리에서의 삭제(2) 불균형의 처리 Rb, Lb 불균형: 서로 유사한 방법으로 처리. Rb 불균형 : 삭제된 노드의 형제 노드 v의 레드 자식 수(0, 1, 2)에 따라 Rb0, Rb1, Rb2로 나누어 처리 Rb0 : 색깔 변환. p가 블랙인 경우에는 새로운 y로 하는 불균형 타입에 적절한 조치. p가 레드인 경우에는 색깔 변환만으로 종료 Rb1, Rb2 : 회전 시킴. Rr, Lr 불균형 : 서로 유사한 방법으로 처리. Rr 불균형 : 형제 노드 v의 오른쪽 자식이 가지고 있는 레드 자식의 수(0, 1, 2)에 따라 Rr0, Rr1, Rr2로 나누어 처리 Rr1 : 어느 쪽 자식이 레드냐에 따라 2가지로 나뉨. 모든 경우, 단순 회전으로 처리 p

레드-블랙 트리에서의 삭제(3) 레드-블랙 삭제에 대한 Rb0 색깔 변환 레드-블랙 삭제에 대한 Rb1과 Rb2 회전 v T p y 2 또는 (a) Rb0 불균형 v T 1 p y 2 (b) Rb0 색깔 변환 레드-블랙 삭제에 대한 Rb0 색깔 변환 p p p w v v v y v p y T 1 w T T 2 T 1 2 y T 1 T T T y 1 2 3 T T 2 3 (a) Rb1(i) 불균형 (b) Rb1(i) 회전 (c) Rb1(ii) 불균형 (d) Rb1(ii) 회전 레드-블랙 삭제에 대한 Rb1과 Rb2 회전

레드-블랙 트리에서의 삭제(4) 레드-블랙 삭제에 대한 Rb2 회전 v T p y w v T y w v T p y v p T 1 p y w 2 3 (e) Rb2 불균형 v T 1 2 y 3 4 w (f) Rb2 회전 레드-블랙 삭제에 대한 Rb2 회전 v T 1 p y 2 (a) Rr0 불균형 v p T 2 y 1 (b) Rr0 회전 v T 1 p y w 2 3 (c) Rr1불균형 v T 1 2 p 3 y w (d) Rb1(i) 회전

레드-블랙 트리에서의 삭제(5) 레드-블랙 삭제에 대한 Rr0, Rr1, Rr2 회전 v T p y w x v T p y x 3 4 (e) Rb2 불균형 v T 1 p 4 y x w 2 3 (f) Rr1(ii) 회전 v T 1 p y w 2 x 3 4 (g) Rr2 불균형 v T 1 p 4 y x w 2 3 (h) Rr2 회전 레드-블랙 삭제에 대한 Rr0, Rr1, Rr2 회전

레드-블랙 트리에서의 삭제(6) 1 3 4 2 7 5 6 8 (a) 레드-블랙 트리 1 3 4 2 6 7 5 (b) 키 8 삭제 1 3 4 2 6 7 5 (c) Rb0 색깔 변환 1 3 4 2 6 5 (d) 키 7 삭제

레드-블랙 트리에서의 삭제(7) 레드-블랙 트리에서의 삭제 예 1 3 4 2 5 1 3 2 5 4 (e) 키 6 삭제 (f) Rr1(ii) 회전 레드-블랙 트리에서의 삭제 예