Tham khảo tài liệu 'cấu trúc dữ liệu và giải thuật part 8', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | Việc xác định giá trị trung bình Ttb n không còn đơn giản như hai trường hợp trên nên ta sẽ không xét đến chi tiết. Kết quả mà ta cần ghi nhận là người đã chứng minh được Ttb n O nlog2n Như vây rõ ràng là khi n khá 1cm QUICKSORT đã tỏ ra có hiệu lực hơn hẳn 3 phương pháp đã nêu. Sắp xếp kiểu vun đòng Heap - sort sắp xếp kiểu phân đoạn đã cho ta thời gian thực hiện trung bình khá tốt nhưng trường hợp xấu của nó vẫn là O n2 . Phương pháp sắp xếp mà ta sẽ xét sau đây đã đảm bảo được trong cả hai trường hợp chi phí thời gian đều cùng là O nlog2n . Với phương pháp sắp xếp này bảng khoá sẽ có câu trúc cây nhị phân hoàn chỉnh và được lưu trữ kế tiếp trong máy xem Giới thiệu phương pháp Cấu trúc cây đặc biệt được sử đụng trong phương pháp này là cấu trúc đống. a Định nghía đống Đống là một cây nhị phân hoàn chỉnh mà mỗi nút được gán một giá trị khoá sao cho khoá ở nút cha bao giờ cũng lán hơn khoá ở nút con nó. Đống được lưu trữ trong máy bởi một vectơ K mà K il thì lưu trữ giá trị khoá ở nút thứ i trên cây nhị phân hoàn chỉnh theo cách đánh sô thứ tự khi lưu trữ kê tiếp đã nói ở . Ví dụ Cây ở hình . dưới đây là một đong với vcctơ tương ứng K biểu diễn nó trong máy lưu trữ trong máy . 221 1 16 2 14 3 4 úp 5 Qt g 9J 7Q3 _ J -VloV 8 9 H uih K 16 14 10 8 7 9 3 2 4 1 1 2345678 9 10 Ta thấy ngay ràng Nếu ta có một đống thì giá trị khoá ở nút gốc mà ta sẽ gọi là đỉnh đống - nút được đánh số chính là giá trị khoá lớn nhất trong dãy khoá ứng với đống đó. Từ đó có thể hiểu việc chọn ra khoá lớn nhâì trong dãy khơá cho sẽ thuận lợi hơn nếu ta tạo được ra một đống ứng với dãy khoá này Ta đã biết một cây nhị phân hoàn chỉnh thường dược biổư diễn trong máy dưới dạng một vectơ. Vậy thì ngược lại một vectơ biếu diễn một dãy giá trị khoá trong máy cũng có thể coi nó như dạng biểu diễn của một cây nhị phân hoàn chỉnh mà mỗi nút có gán một giá trị khoá tương ứng của dãy. Dĩ nhiên cây này có thể chưa phải là đống. Ví dụ Nếu có dãy khoá biểu diên trong máy dưới .