Khác biệt giữa bản sửa đổi của “Thuật toán sắp xếp”

Nội dung được xóa Nội dung được thêm vào
Dòng 19:
 
===Sắp xếp vun đống===
[[Sắp xếp vun đống]] (''heapsort'') là một trong các phương pháp [[sắp xếp chọn]]. Ở mỗi bước của sắp xếp chọn ta chọn phần tử lớn nhất (hoặc nhỏ nhất) đặt vào cuối (hoặc đầu) danh sách, sau đó tiếp tục với phần còn lại của danh sách. Thông thường sắp xếp chọn chạy trong thời gian ''O(n''<sup>2</sup>'')''. Nhưng heapsort đã giảm độ phức tạp này bằng cách sử dụng một cấu trúc dữ liệu đặc biệt được gọi là [[đống (khoa học máy tính)|đống]] (''heap''). Đống là cây nhị phân mà trọng số ở mỗi đỉnh cha lớn hơn hoặc bằng trọng số các đỉnh con của nó. Một khi danh sách dữ liệu đã được vun thành đống, gốc của nó là phần tử lớn nhất, thuật toán sẽ giải phóng nó khỏi đống để đặt vào cuối danh sách. Sắp xếp vun đống chạy trong thời gian ''O(n log n)''.
 
===Sắp xếp nhanh===