คำถามติดแท็ก suffix-trees

5
การหมุนคำศัพท์เล็กที่สุดของสตริงโดยใช้อาร์เรย์ต่อท้ายใน O (n)
ฉันจะอ้างอิงปัญหาจาก ACM 2003: พิจารณาสตริงที่มีความยาว n (1 <= n <= 100000) กำหนดการหมุนเวียนคำศัพท์ขั้นต่ำสุด ตัวอย่างเช่นการหมุนของสตริง“ alabala” คือ: alabala labalaa abalaal balaala alaalab laalaba aalabal และที่เล็กที่สุดในหมู่พวกเขาคือ "aalabal" สำหรับวิธีการแก้ปัญหา - ฉันรู้ว่าฉันต้องสร้างอาร์เรย์ต่อท้าย - และสมมุติว่าฉันสามารถทำได้ใน O (n) คำถามของฉันคือฉันจะค้นหาการหมุนที่เล็กที่สุดใน O (n) ได้อย่างไร (n = ความยาวของสตริง) ฉันสนใจปัญหานี้มากและฉันก็ยังหาวิธีแก้ปัญหาไม่ได้ ฉันสนใจในแนวคิดและวิธีการแก้ไขปัญหามากกว่าการใช้งานอย่างเป็นรูปธรรม หมายเหตุ: การหมุนต่ำสุดหมายถึงในลำดับเดียวกันกับในพจนานุกรมภาษาอังกฤษ - "dwor" อยู่ก่อน "word" เพราะ d อยู่ก่อน w แก้ไข: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.