Sắp xếp vun đống
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Sắp xếp vun đốngSắp xếp vun đống Heap sort Sắp xếp vun đống - Heap sort• Khi tìm phần tử nhỏ nhất ở bước i, phương pháp sắp xếp chọn trực tiếp không tận dụng được các thông tin đã có được do các phép so sánh ở bước i-1. Vì lý do trên người ta tìm cách xây dựng một thuật toán sắp xếp có thể khắc phục nhược điểm này.• Mấu chôt để giải quyết vấn đề vừa nêu là phải tìm ra được một cấu trúc dữ liệu cho phép tích lũy các thông tin về sự so sánh giá trị các phần tử trong qua trình sắp xếp.• Giả sử dữ liệu cần sắp xếp được bố trí theo quan hệ so sánh và tạo thành sơ đồ dạng cây như sau : heapCác phần tử tốt nhất (xấu nhất) sẽ đượcdời lên trên Cấu trúc heap• Heap là một cấu trúc dữ liệu dạng hình cây có tính chất sau:• Mổi một phần tử sẽ có nhiều nhất 2 phần tử là con của nó (phần tử liên đới)• Bất kỳ Phần tử ở trên (cha) sẽ có giá trị lớn hơn giá trị 2 phần tử con của nó• Phần tử đầu (phần tử gốc) sẽ là phần tử có giá trị lớn nhất trong heap Cấu trúc heap gốc 16 cha 12 14 Con Con 11 4 9 13(phần tử liên đới) (phần tử liên đới) 7 6 2 1 0 8 3 10 5 16 l giá 12 n nh 12 >à11, trị lớ> 4 ất trong heap• Heap có các tính chất sau :• Tính chất 1 : Nếu al , al+1 ,al+2... , ar là một heap thì khi cắt bỏ một số phần tử ở hai đầu của heap, dãy con còn lại vẫn là một heap.• Tính chất 2 : Nếu a1 , a2 ,... , an là một heap thì phần tử a1 (đầu heap) luôn là phần tử lớn nhất trong heap.• Tính chất 3 : Mọi dãy al , al+1 ,al+2... , ar với 2l > r là một heap. Cấu trúc heap• Cài đặt cấu trúc heap bằng mảng a0, a1 ,... , ar thoả các quan hệ sau với mọi i ﻴ 0], r]: - ai > = a2i+1 - ai >= a2i+2 (a2i+1, a2i+2) là các cặp phần tử liên đới• phần tử a0 (đầu heap) luôn là phần tử lớn nhất trong heap.• Vậy ak có phần tử liên đới là a2k+1, a2k+2 gốc 16 cha 12 14 11 4 9 13 7 6 2 1 0 8 3 105 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1516 12 14 11 4 9 13 7 6 2 1 0 8 3 10 5 a0= 16 gốc a1=12 có 2 phần tử liên đới là a 2x1+1=a3 =11 a2x1+2=a4=4 Cấu trúc heap• Vấn đề cần quan tâm – Làm sao xây dựng heap – Thêm 1 phần tử – Xóa 1 phần tử phải đảm bảo tính chất heap Cấu trúc heap• Thêm 1 phần tử – Thêm vào cuối mảng mất tính chất heap Cập nhật lại heap (upheap) Bước 1:tại k kiểm tra so với cha của nó (k1-1)/2 Nếu ak a(k-1)/2 đổi vị trí bước 1 Cấu trúc heap 16• Thêm 15 12 14 11 4 9 13 7 6 2 1 0 8 3 10 5 16 12 14 11 4 9 13 7 6 2 1 0 8 3 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Cấu trúc heap 16 12 14 11 4 9 13 7 6 2 1 0 8 3 10 5 1516 12 14 11 4 9 13 7 6 2 1 0 8 3 10 5 150 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Cấu trúc heap 16 12 14 11 4 9 13 15 6 ...
Tìm kiếm theo từ khóa liên quan:
cấu trúc dữ liệu và giải thuật Sắp xếp vun đống Tài liệu vun đống Cấu trúc heap Đánh giá giải thuật Lý thuyết giải thuậtGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 318 0 0 -
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 trang 166 0 0 -
Giải thuật và cấu trúc dữ liệu
305 trang 163 0 0 -
3 trang 162 3 0
-
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Trần Hạnh Nhi
123 trang 156 0 0 -
10 trang 138 0 0
-
57 trang 133 1 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật - Chương 4: Một số giải thuật sắp xếp và tìm kiếm
29 trang 120 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 1 - Trần Hạnh Nhi
98 trang 115 0 0 -
49 trang 72 0 0
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Hoàng Thế Phương
128 trang 67 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 2 - Ngô Công Thắng
8 trang 66 0 0 -
Giáo trình Cấu trúc dữ liệu và giải thuật: Phần 2 - Lê Văn Vinh
67 trang 57 1 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Chương 5 - ThS. Trịnh Quốc Sơn (ĐH Công nghệ Thông tin)
20 trang 50 0 0 -
Lecture Data structures and algorithms: Chapter 9 - Hash
58 trang 38 0 0 -
55 trang 34 0 0
-
Lecture Data structures and algorithms: Chapter 6 - Trees
62 trang 32 0 0 -
Phân tích cấu trúc dữ liệu: Phần 2
226 trang 32 0 0 -
Lecture Data structures and algorithms: Chapter 7 - AVL Trees, B - Trees
82 trang 31 0 0 -
Lecture Data structures and algorithms: Chapter 8 - Heaps
44 trang 31 0 0