Đây KHÔNG phải là vấn đề về phát hiện chu trình trong danh sách được liên kết bằng phương pháp Hare và Tortoise của famous.Phát hiện chu kỳ trong danh sách được liên kết: Lý thuyết phơi sáng
Trong phương pháp Rùa & Rùa, chúng tôi có con trỏ chạy ở tốc độ 1x và 2x để xác định rằng chúng đáp ứng và tôi tin rằng cách hiệu quả nhất và thứ tự của loại tìm kiếm đó là O (n).
Vấn đề là tôi phải đưa ra một bằng chứng (chứng minh hoặc disproving) rằng có thể hai con trỏ sẽ luôn luôn đáp ứng khi tốc độ di chuyển là Ax (A lần x) và Bx (B lần x) và A không bằng B. Trong trường hợp A a B là hai số nguyên ngẫu nhiên hoạt động trên một danh sách liên kết với một chu trình hiện tại.
Điều này đã được hỏi trong một cuộc phỏng vấn mà gần đây tôi đã tham dự và tôi không thể chứng minh điều đó một cách toàn diện cho chính mình rằng liệu điều trên có thể thực hiện được hay không. Bất kỳ trợ giúp nào được đánh giá cao.
"Chuỗi mới này có chu kỳ nếu và chỉ khi chuỗi gốc có" - điều này là sai. –
@ n.m .: Uh? đối với một danh sách liên kết, thuộc tính của vòng lặp ngược sẽ không thay đổi nếu bạn bước qua nó mỗi mục 'x'. Hoặc bạn tiếp tục bước mãi mãi cho cả hai trường hợp (có chu kỳ) hoặc bạn dừng lại sau các bước 'n' hoặc' n/x' (không có chu kỳ). Tất nhiên độ dài chu kỳ sẽ không cần thiết là 'k/x' nếu chu trình ban đầu có độ dài' k' ... nhưng điều này không liên quan đến đối số. – 6502
Xin lỗi tôi đã sai. Đây không phải là sai. Tôi hiểu lầm câu nói đó. –