Tôi muốn lấy 100 phần tử lớn nhất từ danh sách ít nhất 100000000 số.Cách lấy số lớn nhất từ số lượng lớn các số?
Tôi có thể sắp xếp toàn bộ danh sách và chỉ lấy 100 phần tử cuối cùng từ danh sách được sắp xếp, nhưng điều đó sẽ rất tốn kém cả về bộ nhớ và thời gian.
Có cách nào dễ dàng, có tính cách nhiệt tình để thực hiện việc này không?
Điều tôi muốn có chức năng sau thay vì sắp xếp thuần túy. Thực ra tôi không muốn lãng phí thời gian để sắp xếp các yếu tố mà tôi không quan tâm.
Ví dụ, đây là chức năng tôi muốn có:
getSortedElements(100, lambda x,y:cmp(x,y))
Lưu ý yêu cầu này chỉ dành cho quan điểm hiệu suất.
Có bạn đi. Tôi đã chỉ về đề nghị rằng một hàng đợi ưu tiên sẽ là một cách tốt để xử lý này kết hợp với các thuật toán tôi đề nghị. Không phải là một lập trình viên python tôi đã không nhận ra nó đã có sẵn. – tvanfosson