คำถามติดแท็ก string-search

2
สามัญที่ตามมา
สตริงมีแต่มักจะไม่แตกต่างกันทั้งหมด ความซับซ้อนในการค้นหาความถี่สูงสุดของการเรียงลำดับใด ๆ คืออะไร?2n2n2^n ตัวอย่างเช่นสตริง "sequence" มี 7 สำเนาของ sequence "sue" และนี่คือค่าสูงสุด ตัวอย่างรหัสกำลังดุร้ายที่http://ideone.com/UIp3t มีทฤษฎีบทโครงสร้างที่เกี่ยวข้องหรือไม่? ทั้งสองสิ่งนี้กลายเป็นเท็จ : การเรียงลำดับความถี่สูงสุดที่ยาวที่สุดนั้นไม่เหมือนใคร ความถี่สูงสุดของ length- subsequence มีรูปแบบเดียวในkkkkkk ลิงก์ที่เกี่ยวข้องอาจเป็นไปได้: การนับ # การเรียงลำดับที่แตกต่างกัน http://11011110.livejournal.com/254164.html∈P∈P\in \mathbf{P} ปัญหาการประกวดที่เกี่ยวข้องสำหรับหลายแหล่งhttp://www.spoj.pl/problems/CSUBSEQS/ เอกสารที่เกี่ยวข้องhttp://dx.doi.org/10.1016/j.tcs.2008.08.035 แก้ไข 10 วันต่อมา:ขอบคุณที่รับชม! ฉันสงสัยว่าสิ่งนี้จะทำให้ปัญหาการแข่งขันการเขียนโปรแกรมพหุนามดีมากหรือไม่ ฉันเดาไม่ได้ แต่ฉันหวังว่าจะคิดอีกครั้งในภายหลัง

8
คำนวณระยะทาง Levenshtein อย่างรวดเร็ว
ให้ฐานข้อมูลขนาดใหญ่ของคำที่อนุญาต (เรียงตามตัวอักษร) และคำค้นหาคำจากฐานข้อมูลที่ใกล้เคียงที่สุดกับคำที่กำหนดในแง่ของระยะทาง Levenshtein แน่นอนว่าวิธีการที่ไร้เดียงสานั้นคือการคำนวณระยะทางเลเวนเทนไทน์ระหว่างคำที่กำหนดและคำทั้งหมดในพจนานุกรม (เราสามารถทำการค้นหาแบบไบนารี่ในฐานข้อมูลก่อนที่จะคำนวณระยะทาง) ฉันสงสัยว่ามีวิธีแก้ไขปัญหานี้ที่มีประสิทธิภาพมากกว่านี้หรือไม่ บางทีฮิวริสติกบางตัวที่ช่วยให้เราลดจำนวนคำที่จะค้นหาหรือปรับให้เหมาะสมกับอัลกอริทึมระยะทางเลเวนเทน ลิงค์ไปยังเอกสารในเรื่องยินดีต้อนรับ

1
คำฟีโบนัชชี
ฉันเจอปัญหาต่อไปนี้ในตำราเรียนภาษาอัลกอริทึมเก่าของฉัน แต่น่าเสียดายที่ไม่มีคำแนะนำหรือวิธีแก้ปัญหา "เรากำหนดคำ Fibonacci เป็น , F 1 = b , F n + 2 = F n F n + 1โดยที่aและbเป็นตัวอักษรทั่วไปวิธีในสตริงที่กำหนด ค้นหาคำย่อยของ Fibonacci ที่ยาวที่สุดในเวลาเชิงเส้นหรือไม่ "F0=aF0=aF_{0}=aF1=bF1=bF_{1}=bFn+2=FnFn+1Fn+2=FnFn+1F_{n+2}=F_{n}F_{n+1}aaabbb ฉันรู้วิธีแก้ปัญหาในเวลากำลังสอง แต่ไม่สามารถลดลงเป็นเส้นตรง ใครช่วยชี้ทางให้ฉันได้?

2
อัลกอริทึมที่มีประสิทธิภาพสำหรับการค้นหาชุดของต้นไม้
ฉันมีชุดข้อมูลขนาดใหญ่ของต้นไม้และฉันต้องการค้นหาโดยระบุtreelet (กราฟย่อยที่เชื่อมต่อ) แบบสอบถามควรส่งคืนการเกิดทั้งหมดของ treelet ในชุดข้อมูล มีอัลกอริทึมที่มีประสิทธิภาพในการทำเช่นนั้นหรือไม่? ฉันกำลังคิดถึงบางสิ่งเช่นอาร์เรย์ต่อท้ายอย่างไรก็ตามการเข้ารหัสต้นไม้อย่างไร้เดียงสาเป็นสตริง (โดยการเรียงลำดับการส่งผ่านโหนดคงที่) จะไม่ทำงานเนื่องจากการค้นหา Treelet อาจมีรูปร่างที่ไม่เจาะจง UPDATE: รายละเอียดบางอย่างเกี่ยวกับอินสแตนซ์ทั่วไปที่ฉันคาดหวัง: ชุดข้อมูลจะประกอบด้วยต้นไม้อย่างน้อยหลายหมื่นต้นแต่ละชุดประกอบด้วยโหนดประมาณยี่สิบถึงสามสิบ ต้นไม้จะไม่ได้เป็นแบบไบนารี แต่จำนวนเด็กทั่วไปต่อโหนดจะมีขนาดเล็ก (โดยปกติจะไม่ใหญ่กว่าสี่หรือห้าแม้ว่าในบางกรณีที่เลวร้ายก็สามารถเข้าถึงประมาณสามสิบ) จำนวนฉลากจะอยู่ในหลักหมื่น ฉันต้องการสิ่งนั้นสำหรับแอปพลิเคชัน NLP: ต้นไม้แต่ละต้นจะแยกการพึ่งพาของประโยคแต่ละโหนดแสดงคำที่เกิดขึ้นซ้ำและแต่ละคำมีคำในพจนานุกรม (มีการตกแต่งบางอย่าง)

1
การตัดสินใจว่าสตริง wildcard ถูกจับคู่โดยสตริง wildcard อื่นในชุดหรือไม่
นี่คือปัญหาที่ทำให้ฉันดักฟังมาระยะหนึ่งแล้ว สมมุติว่าสตริงเป็นลำดับ 1 และ 0 และสตริงตัวแทนคือ 1 และ 0 สตริงและสตริงตัวแทนทั้งหมดมีความยาวเท่ากัน นี่คือสัญลักษณ์ตัวแทน UNIX มาตรฐาน 10 ?? 1 การแข่งขัน 10011, 10111, ฯลฯ -? ตรงกับ 1 หรือ 0 ในตำแหน่งนั้น ถ้าโวลต์โวลต์v และ WWw เป็นสตริงไวด์การ์ดจากนั้นเราเขียน v ≤ wโวลต์≤Wv \leq w ถ้าทุกสายจับคู่ด้วย โวลต์โวลต์v ถูกจับคู่โดย WWw. ปัญหา : ได้รับชุดSSS ของสายอักขระตัวแทนและแบบสอบถาม vโวลต์v (เช่นสตริงตัวแทน) ซึ่งมีอยู่ w∈SW∈Sw \in S ดังนั้น …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.