Thiết lập nhanh là một thuật toán được sử dụng rộng rãi được biết đến với hiệu suất của nó. Hiểu được hiệu suất của nó bao gồm việc phân tích số lượng mong đợi của các phép so sánh và trao đổi trong quá trình thực hiện. Bài báo này khám phá các nguyên tắc toán học đằng sau những mong đợi này, tập trung vào phân tích xác suất của Quicksort.

Mong đợi số lần so sánh

Số so sánh mong đợi trong đường cong nhanh phụ thuộc vào sự lựa chọn của chuyển động và tiến trình phân chia. Giả sử tất cả các điểm nghiêng đều có khả năng bằng nhau, trường hợp trung bình có thể được phân tích bằng phương trình đệ quy. Để có một dãy [FLT: 0], [FLT: 1], so sánh được định trước là [FL:2], [FL:] [FL:] [N], mặc định], thỏa mãn tính năng tái diễn:

C(n) = n - 1 + frac{1} [n} tổng [{k=0} [C(k) + C(n - 1 - k]

Sự tái diễn này đơn giản hóa thành một kết quả đã biết: [FLT: 0] C (n) cho lớn ). Sự phân hủy bao gồm việc nằm dài trên tất cả các vị trí có thể xoay và áp dụng tính chất của con số âm.

Mong đợi số hoán đổi

Đổi bộ trong Quicksort xảy ra trong tiến trình phân vùng. Số lần trao đổi mong đợi liên quan đến số lần so sánh và sự phân phối các lựa chọn xoay vòng. Dưới sự ngẫu nhiên, các giao dịch dự kiến được ký hiệu [FLT: 0] S [FLT: 1], có thể xấp xỉ bằng cách phân tích các bước phân chia.

Mỗi bước phân vùng bao gồm việc trao đổi các phần tử để đảm bảo vị trí chính xác của trục chính. Các trao đổi mong đợi trên mỗi phân vùng tương ứng với kích thước của các tiểu cầu. Nằm dài trong tất cả các cuộc gọi đệ quy sẽ tạo ra một ước lượng: [FLT: 0]S(n) n) n .

Tóm tắt những điều mong đợi

  • Máy tính ghi xấp xỉ 2n ln n lớn ) ).
  • xấp xỉ n ln n cho lớn ) .
  • Cả hai số đo được tăng theo phương pháp quang phổ với kích thước âm thanh, phản ánh hiệu suất của Quicksort.