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

8
ฉันจะเลือกระหว่าง Hash Table กับ Trie (Prefix Tree) ได้อย่างไร
ดังนั้นถ้าฉันต้องเลือกระหว่างตารางแฮชหรือต้นไม้นำหน้าอะไรคือปัจจัยแบ่งแยกที่จะทำให้ฉันเลือกอย่างใดอย่างหนึ่ง จากมุมมองที่ไร้เดียงสาของฉันดูเหมือนว่าการใช้ Trie จะมีค่าใช้จ่ายพิเศษบางอย่างเนื่องจากไม่ได้จัดเก็บเป็นอาร์เรย์ แต่ในแง่ของเวลาทำงาน (สมมติว่าคีย์ที่ยาวที่สุดคือคำภาษาอังกฤษที่ยาวที่สุด) โดยพื้นฐานแล้วอาจเป็น O (1) (สัมพันธ์กับขอบเขตบน) บางทีคำภาษาอังกฤษที่ยาวที่สุดคือ 50 ตัวอักษร? ตารางแฮชมีรูปลักษณ์ทันทีขึ้นเมื่อคุณได้รับดัชนี การแฮ็กคีย์เพื่อรับดัชนี แต่ดูเหมือนว่าจะทำได้อย่างง่ายดายเกือบ 50 ขั้นตอน ใครช่วยให้มุมมองที่มีประสบการณ์มากกว่านี้แก่ฉันได้ไหม ขอบคุณ!

10
วิธีสร้าง Trie ใน Python
ฉันสนใจในการลองและ DAWG (กราฟคำแบบ acyclic โดยตรง) และฉันได้อ่านเกี่ยวกับพวกเขามามาก แต่ฉันไม่เข้าใจว่าเอาต์พุต trie หรือไฟล์ DAWG ควรมีลักษณะอย่างไร Trie ควรเป็นวัตถุของพจนานุกรมที่ซ้อนกันหรือไม่? ตัวอักษรแต่ละตัวแบ่งเป็นตัวอักษรและอื่น ๆ ตรงไหน? การค้นหาในพจนานุกรมดังกล่าวจะรวดเร็วหรือไม่หากมีรายการ 100k หรือ 500k จะใช้บล็อกคำที่ประกอบด้วยคำมากกว่าหนึ่งคำที่คั่นด้วย-หรือเว้นวรรคได้อย่างไร วิธีการเชื่อมโยงคำนำหน้าหรือคำต่อท้ายของคำกับส่วนอื่นในโครงสร้าง? (สำหรับ DAWG) ฉันต้องการเข้าใจโครงสร้างผลลัพธ์ที่ดีที่สุดเพื่อที่จะหาวิธีสร้างและใช้งาน ฉันยังอยากจะชื่นชมสิ่งที่ควรจะเป็นเอาท์พุทของ DAWGพร้อมกับTrie ฉันไม่ต้องการเห็นการแสดงภาพกราฟิกด้วยฟองอากาศที่เชื่อมโยงกันฉันต้องการทราบว่าวัตถุที่ส่งออกเมื่อชุดของคำถูกเปลี่ยนเป็นการพยายามหรือ DAWG
125 python  trie  dawg 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.