Tôi sẽ tiếp tục đếm số lần đối tượng được sử dụng và theo thứ tự nó được sử dụng.
Vì vậy, nếu đối tượng X được sử dụng thứ 3, hãy tính trung bình nó với số lần chạy và sử dụng kết quả làm vị trí trong danh sách.
Ví dụ:
Item Uses Order of Use
---------------------------------------
Object X 10 1,2,3,1,2,1,3,1,2,2 (18)
Object Y 10 3,1,2,3,3,3,1,3,3,1 (23)
Object Z 10 2,3,1,2,1,2,2,2,2,3 (20)
Sử dụng sẽ là bao nhiêu lần người dùng sử dụng các đối tượng, trình tự sử dụng sẽ là một danh sách (hoặc tổng hợp) về nơi mục được sử dụng theo thứ tự.
Sử dụng danh sách mỗi đơn hàng riêng lẻ có thể có một số vấn đề về hiệu suất, vì vậy, bạn có thể chỉ muốn giữ tổng số vị trí. Nếu bạn giữ một số tiền, chỉ cần thêm thứ tự vào tổng số đó mỗi khi đối tượng được sử dụng.
Để tính toán vị trí, bạn sẽ chỉ sử dụng tổng số vị trí, chia cho số lần sử dụng và bạn sẽ có mức trung bình. Tất cả những gì bạn phải làm tại thời điểm đó là sắp xếp danh sách theo mức trung bình.
Trong ví dụ trên, bạn sẽ nhận được giá trị trung bình sau (và thứ tự):
Object X 1.8
Object Z 2.0
Object Y 2.3
Điều đó thực sự rộng. Bạn có ý tưởng về những gì bạn đang tìm kiếm cụ thể không? Bạn có dự định đặt hàng theo các cột ưa thích không? Hoặc sử dụng nhiều hơn một cách tiếp cận heuristic? –
'Danh sách .Sort()?' –
Habib
Các đối tượng này có cùng loại không? Bạn có thể có thể tạo ra một lớp cơ sở mà tất cả các loại đối tượng sẽ kế thừa và sẽ tiết lộ (int) UsageCount bất động sản.Sau đó bạn có thể khắc phục điều này trên mỗi lần sử dụng và đặt hàng bởi nó – Dimitri