1. Trang chủ
  2. » Công Nghệ Thông Tin

Microsoft powerpoint chuong 5 cac cau truc du lieu

63 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Microsoft PowerPoint Chuong 5 Cac cau truc du lieu Các cấu trúc dữ liệu nâng cao 123Winter 2017 (C) Nguyen Tri Tuan Truong DH KHTN DHQG HCM Cây nhị phân tìm kiếm cân bằng B Cây 3 1 Bảng băm – Hash Table3 3 3 2 (Advanced Data Structures) 124Winter 2017 Cây nhị phân tìm kiếm cân bằng (1)  Cây BST có thể bị lệch  Vì sao cây BST trở nên bị lệch ?  Chi phí tìm kiếm trên cây bị lệch ? Một cây BST không cân bằng (C) Nguyen Tri Tuan Truong DH KHTN DHQG HCM 125Winter 2017 Cây nhị phân tìm kiếm cân bằn.

Các cấu trúc liệu nâng cao (Advanced Data Structures) 3.1 Cây nhị phân tìm kiếm cân 3.2 B-Cây 3.3 Bảng băm – Hash Table Winter 2017 123 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Cây nhị phân tìm kiếm cân (1)  Cây BST bị lệch  Vì BST trở nên bị lệch ?  Chi phí tìm kiếm bị lệch ? Một BST không cân Winter 2017 124 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Cây nhị phân tìm kiếm cân (2) Cây cân  chiều cao chi phí tìm kiếm tối ưu O(log2N) Winter 2017 125 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Cây nhị phân tìm kiếm cân (3) Cần có phương pháp để trì tính cân cho BST Winter 2017 126 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Cây nhị phân tìm kiếm cân (4)  Các loại BST cân  Cây AVL  Cây Đỏ - Đen (Red – Black tree)  Cây AA Winter 2017 127 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Cây AVL (1)  Định nghĩa  Cài đặt cấu trúc liệu  Mất cân thêm/xóa node  Các thuật tốn điều chỉnh  Đánh giá/so sánh E M Landis G M Adelson-Velskii Winter 2017 128 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Cây AVL (2)  Cấu trúc AVL tác giả người Liên xô: G M Adelson-Velskii E M Landis công bố năm 1962  Đây mơ hình tự cân đề xuất (self-adjusting, heightbalanced binary search tree) Winter 2017 129 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Định nghĩa AVL (1)  Cây AVL:  Là nhị phân tìm kiếm (BST)  Mỗi nút p thỏa: chiều cao bên trái (p->left) chiều cao bên phải (p->right) chênh lệch không pTAVL: abs(hp->left - hp->right) Winter 2017 130 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Định nghĩa AVL (2) Chiều cao left, right chênh lệch không Winter 2017 131 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Định nghĩa AVL (3) Cây AVL ? Winter 2017 132 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Hàm băm (6)  Ví dụ phương pháp nhân:  Giả sử ta có k = 123456; m = 10000; A Winter 2017 202 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Các phương pháp xử lý xung đột  Phương pháp nối kết (Separate chaining)  Phương pháp địa mở (Open addressing) Winter 2017 203 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp nối kết (1)  Đưa tất khóa đụng độ vào slot, lưu thành linked-list Mơ hình cách xử lý đụng độ phương pháp chaining Winter 2017 204 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp nối kết (2) Phương pháp chaining – bảng T lưu trỏ linked-list Winter 2017 205 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp nối kết (3) Phương pháp chaining – bảng T lưu phần tử + trỏ linked-list Winter 2017 206 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp nối kết (4)  Chi phí thao tác:  Insert: chi phí xấu O(1)  Search Delete: chi phí trung bình (1+α) α = n/m (load factor: số phần tử trung bình lưu trữ slot)  Các cấu trúc liệu khác:  Ngồi linked-list, ta áp dụng cấu trúc khác hiệu (khi tìm kiếm) như: cân (AVL, Red-Black, AA), hay mảng cấp phát động,… Winter 2017 207 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp địa mở (1)  Các phần tử lưu bảng T, không dùng  thêm nhớ mở rộng phương pháp nối kết Thuật tốn để thêm khóa k: Winter 2017 208 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp địa mở (2) Phương pháp Open addressing – Linear probing Winter 2017 209 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp địa mở (3)  Thuật tốn để tìm khóa k: Winter 2017 210 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Phương pháp địa mở (4)  Tên gọi “open addressing” mang ý nghĩa địa (address) phần tử xác định “duy nhất” hash value phần tử đó, mà cịn có can thiệp phép “dị tìm (probing)”  Có phương pháp dị tìm phổ biến:  Phương pháp dị (Linear probing)  Phương pháp dò bậc (Quadratic probing)  Phương pháp băm kép (Double hashing) Winter 2017 211 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Linear probing  Mô tả: h(k, i) = (h(k) + i) mod m     i: thứ tự lần thử (i = 0, 1, 2,…) h(k): hàm băm m: số slot bảng băm h(k, i): địa khóa k lần thử thứ i Winter 2017 212 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Quadratic probing  Mô tả: h(k, i) = (h(k) + i2) mod m     i: thứ tự lần thử (i = 0,1,2,…) h(k): hàm băm m: số slot bảng băm h(k, i): địa khóa k lần thử thứ i Winter 2017 213 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Double hashing  Mô tả: h(k, i) = (h(k) + i*h’(k)) mod m     i: thứ tự lần thử (i = 0,1,2,…) h(k) h’(k) : hàm băm m: số slot bảng băm h(k, i): địa khóa k lần thử thứ i Winter 2017 214 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Thảo luận  Hãy so sánh ưu, khuyết điểm phương pháp chaining open addressing Winter 2017 215 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Ví dụ  Bài tập:  Có bảng băm T, chiều dài m = 11; hàm băm h(k) = k mod m  Cho dãy phần tử theo thứ tự sau: 10, 22, 31, 4, 15, 28, 17, 88, 59  Hãy trình bày kết thêm phần tử vào bảng băm, với phương pháp xử lý đụng độ: • • • • Winter 2017 Nối kết (Chaining) Dò (Linear probing) Dò bậc (Quadratic probing) Băm kép (Double hashing), với h’(k) = + (k mod (m – 1)) 216 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM ... 20 30 10 15 40 25 30 10 15 DRL 27 40 26 25 27 26 …thêm 15, 40, 25, 27, 26 Winter 2017 148 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Ví dụ tạo AVL (3) 20 30 10 13 25 30 10 40 26 15 20 DLR 27... toán điều chỉnh (6) 44 P 44 78 17 +1 32 17 P1 50 48 P2 62 -1 P2 -1 88 P1 32 DLR 48 62 P 78 +1 50 54 88 54 Ví dụ: thao tác xoay kép DLR Winter 2017 1 45 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM... 17 Thêm phần tử 54 làm cân node P 88 50 32 48 62 54 Winter 2017 137 (C) Nguyen Tri Tuan - Truong DH.KHTN DHQG-HCM Mất cân thêm/xóa node (3)  [Delete – Xóa phần tử]: làm cân  Duyệt từ node vừa

Ngày đăng: 30/04/2022, 20:13

HÌNH ẢNH LIÊN QUAN

 Đây là mô hình cây tự cân bằng đầu tiên được đề xuất(self-adjusting,  - Microsoft powerpoint   chuong 5   cac cau truc du lieu
y là mô hình cây tự cân bằng đầu tiên được đề xuất(self-adjusting, (Trang 7)
Bảng băm – HashTable - Microsoft powerpoint   chuong 5   cac cau truc du lieu
Bảng b ăm – HashTable (Trang 30)
Bảng băm (1) - Microsoft powerpoint   chuong 5   cac cau truc du lieu
Bảng b ăm (1) (Trang 36)
Bảng băm (2) - Microsoft powerpoint   chuong 5   cac cau truc du lieu
Bảng b ăm (2) (Trang 37)
Bảng băm (4) - Microsoft powerpoint   chuong 5   cac cau truc du lieu
Bảng b ăm (4) (Trang 39)
Bảng băm (5) - Microsoft powerpoint   chuong 5   cac cau truc du lieu
Bảng b ăm (5) (Trang 40)
 Hầu hết cấu trúc bảng băm trong thực tế đầu chấp nhận một tỉ lệ nhỏ các khoá đụng độvà xây dựng  phương án giải quyết sự đụng độ đó - Microsoft powerpoint   chuong 5   cac cau truc du lieu
u hết cấu trúc bảng băm trong thực tế đầu chấp nhận một tỉ lệ nhỏ các khoá đụng độvà xây dựng phương án giải quyết sự đụng độ đó (Trang 43)
Phương pháp chaining – bảng T chỉ lưu con trỏ của linked-list - Microsoft powerpoint   chuong 5   cac cau truc du lieu
h ương pháp chaining – bảng T chỉ lưu con trỏ của linked-list (Trang 52)
 m: số slot của bảng băm - Microsoft powerpoint   chuong 5   cac cau truc du lieu
m số slot của bảng băm (Trang 59)
 m: số slot của bảng băm - Microsoft powerpoint   chuong 5   cac cau truc du lieu
m số slot của bảng băm (Trang 60)
 m: số slot của bảng băm - Microsoft powerpoint   chuong 5   cac cau truc du lieu
m số slot của bảng băm (Trang 61)

TỪ KHÓA LIÊN QUAN