Bạn sẽ chọn một phần tử ngẫu nhiên đồng nhất trong danh sách được liên kết với độ dài không xác định trong một lần chuyền hoặc nếu không phải là hai vé?Bạn sẽ chọn một phần tử ngẫu nhiên đồng nhất trong danh sách được liên kết với độ dài không xác định như thế nào?
Trả lời
Sử dụng lấy mẫu hồ chứa http://en.wikipedia.org/wiki/Reservoir_sampling. Bạn chỉ cần một lần truyền dữ liệu.
Đối chọn một phần tử:
- Chọn phần tử đầu tiên (xác suất 1)
- Sau đó, cho các phần tử thứ k nhặt nó với xác suất 1/k (tức là thay thế các lựa chọn hiện tại với yếu tố thứ k)
Tôi sẽ cho phép bạn chứng minh rằng kết quả này trong việc lựa chọn đồng đều các phần tử.
Tôi đã cố gắng sử dụng nhưng điều này sẽ chọn k phần tử ngẫu nhiên. nhưng tôi sẽ chỉ cần chọn phần tử đầu tiên – exlux15
@AnilBabooram Sử dụng k = 1? Dù sao, thuật toán được đề cập trong bài viết (không phải wiki) là cho một trường hợp phần tử. – ElKamina
ok nếu tôi sử dụng vòng lặp while dọc theo độ dài ++ để duyệt qua danh sách. Nếu tôi sử dụng i = rand()% length, "i" có phải là lựa chọn ngẫu nhiên tại nút hiện tại không? – exlux15
- 1. Chọn phần tử ngẫu nhiên trong danh sách R?
- 2. Cách pythonic nhất để bật một phần tử ngẫu nhiên từ danh sách là gì?
- 3. Chọn ngẫu nhiên một phần tử từ danh sách có trọng số
- 4. Chọn N mục ngẫu nhiên từ chuỗi có độ dài không xác định
- 5. Chọn phần tử mảng ngẫu nhiên thỏa mãn thuộc tính nhất định
- 6. Chọn phần tử ngẫu nhiên từ mảng, nhưng duy nhất
- 7. Lấy một phần tử ngẫu nhiên trong danh sách liên kết một hướng bằng một lần đi ngang
- 8. Fortran deallocate danh sách liên kết như thế nào?
- 9. Phần tử ngẫu nhiên trong bản đồ
- 10. Tôi có thể lấy n phần tử ngẫu nhiên từ một mảng Perl như thế nào?
- 11. Chọn một phần tử ngẫu nhiên từ một tập hợp
- 12. Tạo số ngẫu nhiên không đồng nhất
- 13. Làm thế nào để ngẫu nhiên các phần tử enum?
- 14. Chọn đúng một phần tử ngẫu nhiên từ bảng băm có chuỗi?
- 15. Làm thế nào để chọn một phần tử ngẫu nhiên trong std :: set?
- 16. Lấy x phần tử ngẫu nhiên từ một mảng
- 17. Deserialize các loại ngẫu nhiên/không xác định với XmlSerializer
- 18. Chọn một phần tử ngẫu nhiên từ một mảng kết hợp PHP
- 19. Trong Scala, làm thế nào để có được một lát của một danh sách từ phần tử thứ n đến cuối danh sách mà không biết chiều dài?
- 20. Trình tạo số ngẫu nhiên không đồng nhất?
- 21. Đặt độ mờ của phần tử trong div với độ mờ được xác định bởi CSS?
- 22. Làm cách nào để tạo danh sách ngẫu nhiên độ dài cố định của các giá trị từ phạm vi nhất định?
- 23. Phân ngẫu nhiên các phần tử trong một mảng?
- 24. Danh sách liên kết danh sách liên kết trong Java
- 25. Bạn sẽ giữ một quốc gia cụ thể ở trên cùng trong danh sách thả xuống như thế nào?
- 26. Danh sách Liên kết XOR hoạt động như thế nào?
- 27. Lấy phần tử ngẫu nhiên từ mảng kết hợp trong javascript?
- 28. Bạn sẽ tạo chuỗi được phân cách bằng dấu phẩy từ danh sách như thế nào?
- 29. Thuật toán để xóa một phần tử trong một danh sách liên kết đơn với O (1) phức tạp
- 30. Bạn có sử dụng ID kết cấu ngẫu nhiên không?
Tôi e rằng bạn sẽ phải nỗ lực nhiều hơn một chút trong câu hỏi của mình và làm cho nó rõ ràng những gì bạn đang yêu cầu –
ok. làm thế nào bạn sẽ chọn một phần tử ngẫu nhiên đồng nhất trong danh sách liên kết với độ dài không xác định? – exlux15
Nếu đó là câu hỏi của bạn, đó là một câu hỏi thú vị. Xin vui lòng chỉnh sửa câu hỏi của bạn cho phù hợp và tôi sẽ upvote nó –