Tải bản đầy đủ (.ppt) (17 trang)

this site is individual site for ueh students of information management faculty this site provides some students resources of it courses such as computer network data structure and algorithm enterprise resource planning

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (190.27 KB, 17 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Giảng viên : Võ Hà Quang Định


Email –


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Định nghĩa



 Cây cân bằng HOÀN TOÀN là cây nhị


phân mà tại mỗi node, chiều cao của


cây con trái chênh lệch không quá 01 so
với chiều cao của cây con phải, và


ngược lại.


 Ví dụ


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Nhận xét



 Tình trạng cân bằng của cây dễ bị vỡ


 Nếu gọi


 <sub>h là chiều cao của cây (số tầng)</sub>
 <sub>N là số node trong 1 cây</sub>


 Thì chiều cao của cây cân bằng có N


node là:


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Cây AVL




 AVL - Adelson-Velskii và Landis (1962)


 <sub>Nhà toán học người Nga</sub>


 <sub>Đề xuất 1 dạng cân bằng của cây</sub>


 Một số dạng cây cân bằng khác:


 <sub>Cây đỏ - đen (red-black tree)</sub>
 <sub>B-Tree</sub>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Chiều cao của cây



 Cây AVL có chiều cao h, hỏi có tối thiểu


bao nhiêu node?


 Gọi N(h) là số node tối thiểu của cây có


chiều cao h


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

Cấu trúc dữ liệu cây AVL



 Để xác định tính cân bằng của cây,


  tại mỗi node sẽ có thêm thông tin về


đô cao/nặng của cây con.



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7></div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

CTDL AVL (tt)



 Trong đó:


tại Node lá: leftHeight = rightHeight = -1
tại Node:


Height = MAX(Nodecon.LeftHeight,Nodecon.RightHeight) + 1
 <sub>Ví dụ: xem bài ví dụ Example-12-BinaryTree-AVL</sub>


 <sub>Phương pháp khác:</sub>


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

Trường hợp mất cân


bằng



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

Trường hợp mất cân


bằng



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

Trường hợp mất cân


bằng



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

Trường hợp mất cân


bằng



</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

Hướng giải quyết



 Trường hợp 1


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

Trường hợp mất cân


bằng




 Trường hợp 2


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

Trường hợp mất cân


bằng



 Trường hợp 3


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

Trường hợp mất cân


bằng



 Trường hợp 4


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17></div>

<!--links-->
EXERCISES FOR EXECELLENT STUDENTS 9.doc
  • 4
  • 689
  • 1
  • ×