Thuật Toán Sắp Xếp: HEAP SORT | Thư Viện Hướng Dẫn
Có thể bạn quan tâm
Ý tưởng
Xét dãy gồm N phần tử
Hiệu chỉnh dãy thành heap. Đảo vị trí của phần tử đầu dãy với phần tử cuối dãy để đưa phần tử lớn nhất về cuối dãy.
Ta không quan tâm đến phần tử cuối dãy nữa, xem như dãy hiện hành chỉ gồm N-1 phần tử, tính từ 1.
Lặp lại xử lí trên cho đến khi dãy hiện hành chỉ còn một phần tử.
Giải thuật
Giai đoạn 1: Hiệu chỉnh dãy số ban đầu thành Heap
Giai đoạn 2: Sắp xếp dãy số dựa trên Heap
Bước 1: Đưa phần tử lớn nhất về vị trí đúng ở cuối dãy:
r = n; Hoán vị (a1, ar);
Bước 2: Loại bỏ phần tử lớn nhất ra khỏi heap: r = r – 1;
Hiệu chỉnh phần còn lại của dãy a1, a2,…, ar thành một Heap.
Bước 3: Nếu r > 1 (heap còn phần tử): Lặp lại bước 2
Ngược lại: Dừng.
Dựa trên tính chất 3 của Heap, ta có thể thực hiện giai đoạn 1 bằng cách bắt đầu từ heap mặc nhiên an/2+1, an/2+1, …., an, lần lượt thêm vào các phần tử an/2, an/2-1, …., a1 ta sẽ nhận được heap theo mong muốn.
Từ khóa » Giải Thuật Sắp Xếp Heap Sort
-
[JAVA] HEAP SORT: Thuật Toán Sắp Xếp Vun đống - NIIT - ICT Hà Nội
-
Thuật Toán Sắp Xếp Vun đống (Heap Sort) - DNMTechs
-
Thuật Toán Sắp Xếp Vun đống - Heap Sort Algorithm C/C++
-
Heap Sort - Thuật Toán Sắp Xếp Vun Đống — Giải Thuật Lập Trình
-
Thuật Toán Sắp Xếp Vun đống (Heap Sort) - TEK4
-
Thuật Toán HeapSort - Giới Thiệu Chi Tiết Và Code Ví Dụ Trên Nhiều ...
-
Heap Sort Algorithm | Thuật Toán Sắp Xếp Vun đống @@ - YouTube
-
Sắp Xếp Vun đống - Heap - Viblo
-
Chi Tiết Bài Học Sắp Xếp Heap Sort - Vimentor
-
Sắp Xếp Vun đống – Wikipedia Tiếng Việt
-
Thuật Toán Sắp Xếp Sắp Xếp Cây - Heap Sort
-
Heap Sort. (Sắp Xếp Vun đống)