AVLTree vs 편향 Tree.

Slides:



Advertisements
Similar presentations
폭력. 폭력이란 무엇인가 우상의 눈물 물리적인 폭력 ( 최기표 ) VS 지능적인 폭력 ( 임형우, 담임선생님 )
Advertisements

배우 기. 1.Image 삽입하기 2.Video 삽입하기 3.Drawing & Diagram 삽입하기.
언어의 자서전 소단원 (1) 단원. 언어의 특성 기호성 자의성 사회성 규칙성 창조성 역사성.
행복한 금연 김지영, 박시영, 박윤조, 박은미, 조윤희. 담배의 발암물질 담배의 구성성분 인체에 미치는 악영향.
1 박 2 일 !!! 인천마장초등학교 유수아. 1 박 2 일 멤버 인기순 위 1 위 이승기 2 위 엄태웅 3 위 은지원 4 위 김종민, 이수근 ※인터넷에서 본것이기 때문에 사람에따라 서 다를 수 있다. ※
석관중앙교회 5남전도회 석 관 중 앙 교 회 회원 소식 통권 05-04호 발행일 : 2005년 04월 회 장 : 장진호 집사
자료구조: CHAP 7 트리(1) 순천향대학교 컴퓨터공학과 하 상 호.
지역사회복지론 1조. 요양보호시설에 대해서 황성국 임재형 이동영
국가도서관통계시스템 수치입력자 매뉴얼 이의신청 방법 Version. 1.0.
8. 파일 인덱스: 탐색트리 (Search Tree)
지역사회 간호과정 실습지 : 다산보건진료소 실습기간 : 2005년 5월 16일~25일 실습담당자 : 황보 숙 소장님
Chapter 7. Binary Search Trees - 보충 자료-
I 문학의 개념과 역할 1. 문학의 개념 (1) 언어 예술로서의 문학 (2) 소통 활동으로서의 문학
4. 목적론적 윤리와 의무론적 윤리 01. 경험주의와 이성주의 01. 경험주의와 이성주의 02. 결과론적 윤리와 공리주의
쉽게 배우는 알고리즘 6장. 해시 테이블Hash Table.
Horowitz, Sahni and Anderson-Freed Computer Science Press
CHAP 7:트리.
강의 #7 트리(Tree).
쉽게 배우는 알고리즘 5장. 검색트리
제 5장. Context-Free Languages
쉽게 배우는 알고리즘 5장. 검색트리.
제 8 장 이진 탐색 트 리 8.1 이진 탐색 트리 정의 8.2 이진 탐색 트리의 탐색 8.3 이진 탐색 트리의 삽입
Chapter 8. AVL Search Trees
자료구조 과제 풀이(6,7,8차) Yong-hwan Kim
Tree & Heap SANGJI University Kwangman Ko
CHAP 7:트리 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
개항기 조선과 동아시아 박 범 한국역사입문Ⅱ.
CHAP 7:트리 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
1. 하나투어 프로모션 페이지 수정사항 정리 – 리오타노 이태리 세미극세사 차렵이불_그레이
T-Tree MMDB 강원대학교 컴퓨터 과학과 양 기 운
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
강서소방서에 오신 것을 환영합니다. 2016년 남화영 소방안전본부장님 업무보고 아름다운 대구, Colorful Daegu
7장. 해시 테이블Hash Table.
자료구조: CHAP 7(2) 트리 순천향대학교 컴퓨터공학과 하 상 호.
대구의 부도심 대구의 주요축 동대구 부도심 4조 강민석 / 박성균 / 최은지/ 황재현/김예지.
2018 FIFA 러시아 월드컵 기념 판촉왕&치킨 이벤트
Red-Black Tree.
13장. 균형 탐색 트리 and the pain you must suffer to learn them
균형이진탐색트리 이진 탐색(binary search)과 이진 탐색 트리(binary search tree)와의 차이점
CHAP 12:탐색 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
CHAP 12 : 탐색.
CHAP 12 : 탐색 C로 쉽게 풀어쓴 자료구조 생능출판사 2011.
사도행전 13장 22절 말씀 –아멘 다 윗 을 왕 으 로 세 우 시 고 증 언 하 여 이 르 시 되 내 가 이 새 의 아 들
조별 주제 발표 -기프트리(gifTree)-
Chapter 9. Multilevel Indexing and B-Trees
제 8 장 계산복잡도 개론 검색 문제 알고리즘 강의 슬라이드 8 검색 문제
스케줄링 (Scheduling) 시스템 내부시간(time in the system): 스케줄링 문제
강의 #11 탐색(Search).
8.5 사람의 유전은 어떻게 연구하는가.
탐색 선형 탐색, 이진 탐색, 이진 탐색 트리.
경찰행정과 세미나 결과를 공개해야한다. VS 비공개로 해야한다. 경찰의 근무성적평정 제도.
제 5 장 탐색트리.
거래처 매뉴얼 리 얼 시 스 템 주 식 회 사.
5차시: 로봇 주행 실습 및 미션 수행하기 준비물 SPL-Duino 보드 (조도센서 내장)
Chapter 07 트리.
(Ⅰ) 독서와 언어의 본질 언어의 본질 1 2 [고등 국어] – 독서와 문법 독서의 본질 (1) 독서의 특성
트리 (Logical) Data Structures Linear list Tree Graph Linear structures
이미지 지금 아니면 언제 사용하지? 소멸알림톡 페이지 여행은 이거 하나면 돼! 없는 거 빼곤 다 있다!
지역복지실천을 위한 이론적 기초 사회체계이론과 생태이론.
거래처 매뉴얼 리 얼 시 스 템 주 식 회 사.
1. 전문대학기초학습지원센터 접속하기 전문대학 기초학습지원센터 접속 접속URL : LOG-IN 클릭.
1. 전문대학기초학습지원센터 접속하기 전문대학 기초학습지원센터 접속 접속URL : LOG-IN 클릭.
1. 전문대학기초학습지원센터 접속하기 전문대학 기초학습지원센터 접속 접속URL : LOG-IN 클릭.
코 칭 결 과 센 터 구성센터 (모바일) 코칭대상 프로 (엔지니어) 코칭일시
1. 하나투어 프로모션 페이지 수정사항 정리 – 인따르시아 여행용 파우치 5p (핑크)
1. 하나투어 프로모션 페이지 수정사항 정리 – [트래블이지] 비비드접이식가방 NO.1278
2017년 생활안전구조차 규격서 (그랜드스타렉스 3밴) 생활안전.
걱정 고민 가득 할 때 - 어떻게 해결 하나요 - C Em Dm G 1. 걱정 고민 가득 2. 슬픈 마음 심술 3. 괜찮아요
스플라인 단축부 스냅링 홈 높이 불량 개선 대책 LR1-1 SHELL –RR ANNULUS ( T)
Presentation transcript:

AVLTree vs 편향 Tree

AVLTree란? AVL트리는 Binary Search Tree(이하 BST)에서 가장 초기에 Balanced를 제시한 트리이다. BST의 장점은 탐색속도가 빠르다는 것이지만 편향 트리일 경우 단방향 연결리스트의 탐색과 같은 속도를 내기 때문에 BST의 장점을 없애버린다. 그래서 AVL트리는 Balanced를 맞춰서 BST의 장점이 사라지지 않게 하는 것이다. AVL란? AVL트리는 약자 같지만 Adelson-Velskii와 E.M. Landis가 논문을 발표했기 때문에 이름을 따서 AVL트리란 이름이 된 것이다. 각각의 노드마다 왼쪽 서브트리의 높이를 오른쪽 서브트리의 높이로 뺀 값인 균형치(balance factor)를 가지고 있으며, ±1(레벨이라생각) 이하여야 한다. Height Balanced Tree(높이 균형 트리)라고도 한다. 삽입과 삭제를 할 때 트리의 높이가 달라지게 되는데 만약 어떠한 노드라도 균형치가 ±2일 경우 RR, LL, RL, LR의 네 가지 방식을 이용해 회전을 시킨다.

AVLTree 장점 가장 큰 장점은 탐색속도가 빠르다는 것과 트리 전를 재배열시키지 않아도 트리의 규형이 유지된다 이진 탐색 트리의 경우 편향 트리가 될 가능성이 있다. 그럴 경우 탐색 시 최대 비교 횟수가 트리의 노드 개수로 서론에서 언급했듯이 단방향 연결리스트와 다를 바 없다. 하지만 AVL트리는 이미 균형이 이루어져 있기 때문에 탐색이 O(log n)을 넘지 않는다. 1 5 4 2 3 1 5 4 2 3 트리의 균형은 노드를 삽입이나 삭제할 때 깨질 수 있다. 삽입/삭제 연산을 할 경우 근접한 노드 뿐 아니라 루트까지의 경로에 있는 노드에도 영향을 줄 수 있다. 만약 그 영향으로 균형치가 ±2가 되는 노드가 생긴다면 그 노드의 서브트리들을 회전하여 트리의 균형을 잡는다.

각각의 회전 방식은 새로 삽입된 노드 N으로부터 가장 가까우면서 균형치가 맞는 노드 A일 때 AVLTree 동작구조 거의 모든 동작구조가 노드의 삽입과 삭제는 노드들을 회전해야 하므로 노드를 재배열시키지 않는 이진 탐색 트리와는 차이가 있다. 회전방법에는 LL, LR, RR, RL의 네 가지 방법이 있으며 LL과 RR은 한번만 회전이 필요한 단순회전이고 LR과 RL은 두 번의 회전이 필요한 이중회전이다. 각각의 회전 방식은 새로 삽입된 노드 N으로부터 가장 가까우면서 균형치가 맞는 노드 A일 때 1. LL회전 - N이 A의 왼쪽 서브트리의 왼쪽 서브트리로 삽입되는 경우 1 1->2 1 8 8 8 1 1->2 5 9 5 9 3 9 0->1 3 3 1 5 1 1삽입

AVLTree 동작구조 2. RR회전 - N이 A의 오른쪽 서브트리의 오른쪽 서브트리로 삽입되는 경우 1->2 1 1 5 8 7 3 5 8 7 3 9 5 9 8 3 7 1 1->2 1 9삽입

AVLTree 동작구조 3. LR회전 - N이 A의 왼쪽 서브트리의 오른쪽 서브트리로 삽입되는 경우 1 1->2 5 12 10 3 11 5 10 3 1->2 5 12 10 3 1 1->2 1 12 1 11삽입 Right Rotation 1 11 1->2 1 5 10 3 1->2 5 11 3 Left Rotation 1 11 10 12 11

AVLTree 동작구조 4. RL회전 삭제할 때 역시 동일한 방법으로 회전을 하여 균형을 맞춘다. - N이 A의 오른쪽 서브트리의 왼쪽 서브트리로 삽입되는 경우 1 1->2 1->2 5 3 9 4 8 5 9 5 3 1->2 1 1->2 1 1 3 삭제할 때 역시 동일한 방법으로 회전을 하여 균형을 맞춘다. 11삽입 Left Rotation 4 1 Right Rotation 1->2 8 8 9 5 1->2 9 4 1 4 3 5 3

응용 분야 용어 정리 1. 균형치(Balance factor) 균형치 = 왼쪽 서브트리의 높이 – 오른쪽 서브트리의 높이 2. 트리의 높이(Height) - 높이 혹은 깊이(Depth)라고 하며 그 트리에 속한 노드의 최대 레벨로 정해진다. 3. 레벨(Level) - 루트를 레벨1로 정의하기도 하고 0으로 정의하기도 하지만 본 문서에선 1로 정의하도록 하겠다. 만약 한 노드의 레벨이 L이라면 그 자식의 레벨은 L+1이 된다. 응용 분야 이진 탐색 트리와 사용방식이나 구조가 같기 때문에 이진 탐색 트리를 사용할 수 있는 분야에선 모두 사용 가능하다. 컴퓨터의 디렉토리 구조나 족보 같은 계층구조를 나타내야 할 때 쉽게 표현할 수 있다.

응용 분야 응용 분야 이진 탐색 트리와 사용방식이나 구조가 같기 때문에 이진 탐색 트리를 사용할 수 있는 분야에선 모두 사용 가능하다. 컴퓨터의 디렉토리 구조나 족보 같은 계층구조를 나타내야 할 때 쉽게 표현할 수 있다. 용어 정리 용어 정리 1. 균형치(Balance factor) 균형치 = 왼쪽 서브트리의 높이 – 오른쪽 서브트리의 높이 2. 트리의 높이(Height) - 높이 혹은 깊이(Depth)라고 하며 그 트리에 속한 노드의 최대 레벨로 정해진다. 3. 레벨(Level) - 루트를 레벨1로 정의하기도 하고 0으로 정의하기도 하지만 본 문서에선 1로 정의하도록 하겠다. 만약 한 노드의 레벨이 L이라면 그 자식의 레벨은 L+1이 된다.

제가 부족한 설명이 있을 수있으니 여기 서 참고 하시면 되겟습니다.!!!! 참고 URL 1. AVL Tree Wikipedia - http://ko.wikipedia.org/wiki/AVL_%ED%8A%B8%EB%A6%AC 2. AVL Tree 개념정리 - http://blog.naver.com/ryutuna?Redirect=Log&logNo=100122795293 3. AVL Tree 개념정리2 - http://www.codesos.com/book/algori/search/search.html 제가 부족한 설명이 있을 수있으니 여기 서 참고 하시면 되겟습니다.!!!!