คำถามติดแท็ก trie

2
ต้นไม้ Aguri คืออะไร
จะผ่านรายการข่าวแฮ็กเกอร์เก่าบางอย่างฉันเจอโพสต์จากผู้ใช้ที่กล่าวว่า ต้นไม้ Aguri ซึ่งแต่งงานกับ Radix Trie ขนาดเท่าขอบ (เช่นที่คุณใช้ในตารางการจัดเส้นทางซอฟต์แวร์) ไปยังรายการ LRU และสังเคราะห์มวลรวมอัตโนมัติ (เช่น 10.0.0.0/16 จาก 1,000 การสังเกตในทุก IP) จากรูปแบบ ของการแทรก พวกเขาเป็นที่รู้จักกันดีในการวิเคราะห์ทราฟฟิก แต่เราก็ใช้มันในการวิเคราะห์หน่วยความจำรันไทม์เช่นกัน ~ tptacek ดังนั้นฉันจึงตัดสินใจค้นหามัน การค้นหาโดย Google อย่างรวดเร็วทำให้ฉันไปที่ไดรเวอร์ F1 การค้นหาวิกิพีเดียนำไปสู่วรรณะทางการเกษตรในอินเดียและบางรายการจากญี่ปุ่น Stack Overflow พบผล 0 รายการ/programming//search?q=aguri site:stackoverflow.com/questions aguri ในที่สุดฉันก็เชื่อมโยงมันกลับไปยังผู้ใช้แล้วเห็นว่าเขามีลิงค์ในบล็อกของเขา http://www.matasano.com/log/1009/aguri-coolest-data-structure-youve-never-heard-of/ แต่มันตายไปแล้ว ดังนั้นโครงสร้างข้อมูล Aguri นี้คืออะไรและถ้าเป็นโครงสร้างข้อมูลจริงเหตุใดจึงไม่มีการบันทึกไว้ที่อื่น

2
การใช้ Trie ที่มีประสิทธิภาพสำหรับสตริง Unicode
ฉันกำลังมองหาการใช้งาน String Trie ที่มีประสิทธิภาพ ส่วนใหญ่ฉันพบรหัสเช่นนี้: การใช้งานอ้างอิงใน Java (ต่อวิกิพีเดีย) ฉันไม่ชอบการใช้งานเหล่านี้ด้วยเหตุผลสองประการ: รองรับอักขระได้เพียง 256 ตัวเท่านั้น ฉันต้องครอบคลุมสิ่งต่าง ๆ เช่นไซริลลิก พวกเขาไม่มีประสิทธิภาพหน่วยความจำอย่างมาก แต่ละโหนดมีอาร์เรย์ของการอ้างอิง 256 รายการซึ่งเป็น 4096 ไบต์บนเครื่อง 64 บิตใน Java แต่ละโหนดเหล่านี้สามารถมีโหนดย่อยได้มากถึง 256 โหนดโดยมี 4096 ไบต์สำหรับการอ้างอิงแต่ละโหนด Trie แบบเต็มสำหรับสตริงอักขระ ASCII 2 ทุกตัวจะต้องมีขนาดเกิน 1MB สามสายอักขระ? 256MB สำหรับอาร์เรย์ในโหนดเท่านั้น และอื่น ๆ แน่นอนว่าฉันไม่ได้ตั้งใจที่จะมีสายอักขระทั้งหมด 16 ล้านสายใน Trie ของฉันดังนั้นพื้นที่ว่างจำนวนมากจึงสูญเปล่า อาร์เรย์เหล่านี้ส่วนใหญ่เป็นเพียงการอ้างอิงที่เป็นโมฆะเนื่องจากความจุของพวกมันมีจำนวนเกินกว่าจำนวนคีย์ที่แทรก และถ้าฉันเพิ่มยูนิโค้ด, อาร์เรย์จะมีขนาดใหญ่ขึ้น (ถ่านมีค่า 64k …
12 unicode  trie 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.