2010-10-01 19 views
6

मैं Trie बनाने की कोशिश कर रहा हूं लेकिन एक मोबाइल फोन पर जिसमें बहुत सीमित स्मृति क्षमता है।डिस्क-आधारित trie?

मुझे लगा कि यह संभवतः डिस्क पर संग्रहीत किया जा सकता है, और केवल आवश्यकतानुसार लोड किया गया है क्योंकि मैं कुछ डिस्क पढ़ने को सहन कर सकता हूं। लेकिन, कुछ प्रयासों के बाद, ऐसा लगता है कि ऐसा करने के लिए यह एक बहुत ही जटिल बात है।

डिस्क पर ट्री को स्टोर करने के कुछ तरीके क्या हैं (यानी केवल आंशिक रूप से लोड हो) और तेज़ लुकअप प्रॉपर्टी रखें?
क्या यह भी शुरू करने के लिए एक अच्छा विचार है?

+1

मैं इस स्थिति में एक तिहाई के बजाय बी-पेड़ के लिए पहुंचूंगा, लेकिन मुझे इस प्रश्न का उत्तर भी जानना अच्छा लगेगा। – zwol

+0

तेजी से दिखने के लिए प्रयास संरचनाएं हैं। यह कुछ एम्बेडेड डेटाबेस इंजन, जैसे SQLite, या कुछ http://en.wikipedia.org/wiki/Dbm व्युत्पन्न – permeakra

उत्तर

4

कागज B-tries for disk-based string management अपने प्रश्न का उत्तर दें।

यह अवलोकन करता है:

हमारे ज्ञान करने के लिए

, एक trie आधारित डेटा संरचना के लिए साहित्य में एक प्रस्ताव है, इस तरह फट trie के रूप में, डिस्क पर कुशलता से निवास कर सकते हैं होने के लिए अभी तक वहाँ है सामान्य स्ट्रिंग प्रसंस्करण कार्यों का समर्थन करने के लिए।

+1

http://www.naskitis.com/naskitis-vldbj09.pdf – RichardOD

+0

के लिए अच्छा उपयोग-केस जैसा दिखता है पेपर नीचे है :( – bgs

+0

@bgs लिंक रिचर्डोड पोस्ट मेरे लिए काम कर रहा है। – chakrit

4

मैंने केवल संक्षेप में देखा है, लेकिन Shang's "Trie methods for text and spatial data on secondary storage" पेजेड ट्राई प्रस्तुतियों पर चर्चा करता है, और यह एक उपयोगी प्रारंभिक बिंदु हो सकता है।