Tại sao hàng đợi ưu tiên/heap được triển khai là 0 là ưu tiên cao nhất? Tôi giả sử tôi đang bỏ lỡ một số nguyên tắc toán học chính. Như tôi đã thực hiện hàng đợi ưu tiên của riêng tôi gần đây nó có vẻ dễ dàng hơn để viết các chức năng chèn nếu ưu tiên đi lên với giá trị số nguyên, nhưng dường như mọi người thông minh hơn tôi nghĩ rằng nó nên đi theo cách khác.Tại sao hàng đợi ưu tiên chủ yếu sử dụng 0 làm ưu tiên quan trọng nhất?
Bất kỳ ý tưởng nào?
Đã học được điều gì đó mới mẻ. Cảm ơn! –
Điều này là gây hiểu nhầm: tất cả các đống tôi từng nghe về hỗ trợ * xác định * tối thiểu trong thời gian không đổi; nhưng * loại bỏ * phần tử tối thiểu (do đó làm cho phần tử nhỏ thứ hai trở thành tối thiểu mới) luôn yêu cầu thời gian 'O (log (n))'. Điều này khá cơ bản; nếu không bạn có thể sử dụng heap đó để tạo một thuật toán phân loại 'O (n)'. Các lợi thế hiệu suất của một đống heap (trên đống nhị phân đơn giản) là trong các hoạt động khác, không phải là hai hoạt động tiêu chuẩn này. –
Ngoài ra, câu trả lời này thậm chí không giải quyết được câu hỏi! Dãy Fibonnacci cũng có thể hỗ trợ giải nén tối đa trong thời gian không đổi - nó chỉ là một quy ước. –