Hướng dẫn giải của HSG THPT TPHCM 2023 - Thuật Toán Sắp Xếp
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Gọi các thao tác được thực hiện ở bước lẻ là thao tác loại
Ta có nhận xét sau:
Giả sử ta thực hiện một thao tác loại
đưa phần tử về vị trí đúng trên mảng, khi đó tất cả các thao tác loại được thực hiện sau đó sẽ không làm ảnh hưởng đến các vị trí từ đến .Nói cách khác, các thao tác loại
tương đương với việc xác định số lần hoán đổi để đưa phần tử nhỏ nhất về vị trí đầu của mảng, sau đó ta xóa phần tử này đi và thực hiện các thao tác tiếp theo trên mảng mới.
Nhận xét tương tự cho các thao tác loại
Tại mỗi bước, lưu giữ một mảng
đánh dấu phần tử thứ trên mảng chưa bị xóa hay đã bị xóa. Ban đầu .Thao tác loại
: Vị trí hiện tại của phần tử cần sắp xếp trên mảng mới là là vị trí của trên mảng ban đầu . Số thao tác cần thực hiện để đưa về vị trí đúng là . Sau đó ta đặt .Thao tác loại
: Vị trí hiện tại của phần tử cần sắp xếp trên mảng mới là . Số thao tác cần thực hiện để đưa về vị trí đúng là . là kích cỡ hiện tại của mảng sau các thao tác xóa . Sau đó ta đặt .
Việc cập nhật và lấy tổng trên một đoạn liên tiếp trên mảng
Độ phức tạp:
Bình luận