4.5.2 the Alon-Matias-Szegedy thuật toán để thứ hai khoảnh khắc
bây giờ, chúng ta hãy giả định rằng một dòng đã n cụ thể chiều dài. Chúng tôi sẽ hiển thị làm thế nào để đối phó với ngày càng tăng dòng trong phần tiếp theo. Giả sử chúng tôi không có đủ không gian để đếm tất cả mi của cho tất cả các yếu tố của các dòng. Chúng tôi vẫn có thể ước tính này thứ hai của dòng bằng cách sử dụng một số lượng hạn chế không gian; thêm không gian chúng tôi sử dụng, Các chính xác hơn ước lượng sẽ. Chúng tôi tính toán số của các biến. Đối với mỗi biến X, chúng tôi lưu trữ:
1. Một yếu tố cụ thể của tập đa năng, chúng tôi đề cập đến như là X.element, và
2. Một số nguyên X.value, mà là giá trị của biến. Để xác định giá trị của một biến X, chúng tôi chọn một vị trí trong dòng giữa 1 và n, thống nhất và ngẫu nhiên. Thiết lập X.yếu tố để các yếu tố tìm thấy ở đó, và khởi tạo X.value 1. Như chúng ta đọc luồng, thêm 1 cho X.value mỗi khi chúng tôi gặp phải một sự xuất hiện của X.element.
Example 4.7: giả sử dòng là a, b, c, b, d, a, c, d, a, b, d, c, a, a, b. Chiều dài của dòng là n = 15. Kể từ khi một xuất hiện 5 lần, b xuất hiện 4 lần và c và d xuất hiện ba lần mỗi, thời điểm thứ hai cho dòng là 52 42 32 32 = 59. Giả sử chúng tôi giữ cho ba biến, X 1, X 2 và X 3. Ngoài ra, giả sử rằng "ngẫu nhiên" chúng tôi chọn 3, 8, và các vị trí 13 để define các biến này ba. Khi chúng tôi đạt được vị trí 3, chúng ta nhiều yếu tố c, do đó, chúng tôi thiết lập X1.element = c và X1.value = 1. Vị trí 4 Giữ b, do đó, chúng tôi không thay đổi X 1. Tương tự như vậy, không có gì xảy ra tại các vị trí 5 hoặc 6. Ở vị trí 7, chúng tôi thấy c một lần nữa, do đó, chúng tôi thiết lập X1.value = 2. Tại vị trí 8 chúng tôi nhiều d, và do đó thiết lập X2.element = d và X2.value = 1. Vị trí 9 và 10 giữ một và b, do đó, họ làm không affect X 1 hoặc X 2. Vị trí 11 giữ d vì vậy chúng tôi đặt X2.value = 2, và vị trí 12 c giữ do đó, chúng tôi thiết lập X1.value = 3. Ở vị trí 13, chúng ta nhiều yếu tố một, và do đó thiết lập X3.element = một và X3.value = 1. Sau đó, ở vị trí 14 chúng ta nhìn thấy nhau một và do đó thiết lập X3.value = 2. Vị trí 15, với nguyên tố b không không affect bất kỳ của các biến, nên chúng tôi đang thực hiện, với giá trị ngoài X1.value = 3 và X2.value = X3.value = 2. 2
chúng tôi có thể lấy được một ước tính của thời điểm thứ hai từ bất kỳ biến X. Ước tính này là n ×(2×X.value −1). Ví dụ 4.8: Xem xét các yếu tố ba từ ví dụ 4.7. Từ X 1 chúng tôi lấy được ước tính n × (2×X1.value −1) = 15×(2×3−1) = 75. Các khác hai biến, X 2 và X 3, mỗi có giá trị 2 cuối, do đó, ước tính của họ là 15×(2×2−1) = 45. Hãy nhớ rằng giá trị thực sự của thời điểm thứ hai cho dòng này là 59. Mặt khác, mức trung bình của ba ước tính là 55, một xấp xỉ khá chặt chẽ.
đang được dịch, vui lòng đợi..
