tailieunhanh - Giáo trình hình thành ứng dụng chế độ đánh giá giải thuật theo phương pháp tổng quan p5

Trong cây trên, giá trị ghi trong các nút là khoá của các phần tử mảng, giá trị ghi bên ngoài các nút là chỉ số của các phần tử mảng. Việc sắp xếp cây này thành một heap sẽ bắt đầu từ việc đẩy xuống nút a[5] (vì 5 = 10 DIV 2) Xét nút 5 ta thấy a[5] chỉ có một con trái và giá trị khóa tương ứng của nó lớn hơn con trái | Sắp xếp Ví dụ 2-6 Sắp xếp mảng bao gồm 10 phần tử có khoá là các số nguyên như trong các ví dụ Hình 2-8 Cây ban đầu Trong cây trên giá trị ghi trong các nút là khoá của các phần tử mảng giá trị ghi bên ngoài các nút là chỉ số của các phần tử mảng. Việc sắp xếp cây này thành một heap sẽ bắt đầu từ việc đẩy xuống nút a 5 vì 5 10 DIV 2 Xét nút 5 ta thấy a 5 chỉ có một con trái và giá trị khóa tương ứng của nó lớn hơn con trái của nó nên ta đổi hai nút này cho nhau và do con trái của a 5 là a 10 là một nút lá nên việc đẩy xuống của a 5 kết thúc. Hình 2-9 Thực hiện đầy xuống của nút 5 Trang 34 Sắp xếp Nút 4 và nút 3 đã đúng vị trí nên không phải thực hiện sự hoán đổi. Tại nút 2 giá trị khóa của nó lớn hơn khoá con trái và khoá của con trái nhỏ hơn khoá của con phải nên ta hóan đổi nút 2 cho con trái của nó nút 4 sau khi hoán đổi ta xét lại nút 4 thấy nó vẫn đúng vị trí nên kết thúc việc đẩy xuống của nút 2. Cuối cùng ta xét nút 1 ta thấy giá trị khoá của nút 1 lớn hơn khoá của con trái và con trái có khoá bằng khoá của con phải nên hóan đổi nút 1 cho con trái của nó nút 2 . Sau khi thực hiện phép hóan đổi nút 1 cho nút 2 ta thấy nút 2 có giá trị khoá lớn hơn khoá của con phải của nó nút 5 và con phải có khoá nhỏ hơn khoá của con trái nên phải thực hiện phép hoán đổi nút 2 cho nút 5. Xét lại nút 5 thì nó vẫn đúng vị trí nên ta được cây mới trong hình 2-11. 7 Hình 2-11 Cây ban đầu đã đựoc tạo thành heap Cây này là một heap tương ứng với mảng Trang 35 Sắp xếp Chỉ số 1 2 3 4 5 6 7 8 9 10 Heap 2 3 2 6 5 12 9 10 9 10 Từ heap đã có ở trên hoán đổi a 1 cho a 10 ta có a 10 là nút có khóa nhỏ nhất cắt bỏ nút a 10 ra khỏi cây. Như vậy phần cuối mảng chỉ gồm một phần tử a 10 đã được sắp. Thực hiện việc đẩy a 1 xuống đúng vị trí của nó trong cây a 1 .a 9 ta được cây Hình 2-12 Hoán đổi a 1 cho a 10 và đầy a 1 xuống trong a Hoán đổi a 1 cho a 9 và cắt a 9 ra khỏi cây. Ta được phần cuối mảng bao gồm hai phần tử a 9 .a 10 đã được sắp. Thực hiện việc đẩy a 1 xuống đúng vị trí của