Làm thế nào về một cái gì đó như một thủ tục binning? Giả sử (cho mục đích minh họa) mà bạn biết rằng các giá trị nằm trong khoảng từ 1 đến 1 triệu. Thiết lập N thùng, có kích thước S. Vì vậy, nếu S = 10000, bạn sẽ có 100 thùng, tương ứng với các giá trị [1: 10000, 10001: 20000, ..., 990001: 1000000]
Sau đó, bước qua các giá trị. Thay vì lưu trữ từng giá trị, chỉ cần tăng bộ đếm trong thùng thích hợp. Sử dụng trung điểm của mỗi thùng làm ước tính, bạn có thể đưa ra xấp xỉ hợp lý của trung vị. Bạn có thể chia tỷ lệ này thành độ phân giải mịn hoặc thô như bạn muốn bằng cách thay đổi kích thước của các thùng. Bạn chỉ bị giới hạn bởi bao nhiêu bộ nhớ.
Vì bạn không biết giá trị của mình có thể lớn đến mức nào, chỉ cần chọn kích thước thùng đủ lớn để bạn không bị hết bộ nhớ, sử dụng một số tính toán ngược nhanh chóng. Bạn cũng có thể lưu trữ các thùng một cách thưa thớt, sao cho bạn chỉ thêm một thùng nếu nó chứa một giá trị.
Biên tập:
Liên kết ryfm cung cấp một ví dụ về việc này, với bước bổ sung là sử dụng tỷ lệ phần trăm tích lũy để ước tính chính xác hơn điểm trong thùng trung vị, thay vì chỉ sử dụng điểm giữa. Đây là một cải tiến tốt đẹp.