Tôi đã trải qua quá trình phân tích quicksort trong cuốn sách Thuật toán của Sedgewick. Anh ta tạo ra mối quan hệ lặp lại sau đây cho số lượng so sánh trong quicksort trong khi sắp xếp một mảng gồm N mục riêng biệt.
Tôi đang gặp khó khăn trong việc hiểu điều này ... Tôi biết rằng cần có xác suất 1 / N để bất kỳ phần tử nào trở thành trục và nếu k trở thành trục, thì mảng con bên trái sẽ có các phần tử k-1 và phụ con phải mảng sẽ có các phần tử Nk.
1.Làm thế nào để phân vùng trở thành N + 1? Có phải so sánh N + 1 để thực hiện phân vùng không?
2.Sedgewick nói, với mỗi giá trị của k, nếu bạn thêm chúng, xác suất phần tử phân vùng là k + chi phí cho hai mảng con bạn có được phương trình trên.
- Ai đó có thể giải thích điều này để những người có ít kiến thức toán học (tôi) có thể hiểu?
- Cụ thể làm thế nào để bạn có được thuật ngữ thứ hai trong phương trình?
- Chính xác thì thuật ngữ đó là gì?