इस छद्म होमवर्क (यह अतिरिक्त क्रेडिट है) है। मैं एक BST जो शब्द है कि लाइनें (कहीं और संग्रहीत) शब्द हों, को इंगित का एक सूचकांक है मिल गया है। (|) मैं s-भाव का उपयोग करके खोज के लिए एक रास्ता लागू करने के लिए तो मैं जोड़ सकते हैं और (&) और या की जरूरत है।
आदेश पर एक उपयोगकर्ता की तरह कुछ टाइप कर सकते हैं का संकेत:
QUERY ((((fire)&(forest))|((ocean)&(boat)))&(water))
अनिवार्य रूप से है कि सभी लाइनों कि शब्द आग, जंगल और पानी के साथ ही सभी लाइनों कि सागर, नाव और पानी शामिल होते हैं लौटना चाहिए।
क्या मैं सच में साथ मदद की जरूरत है पार्स करने और डालने नोड्स के लिए तर्क पेड़ में ठीक से अभिव्यक्ति वास्तविक कोड की तुलना में अधिक प्रतिनिधित्व करने के लिए है। केवल एक चीज मुझे लगता है कि बाहर काम किया है मुझे अभिव्यक्ति में प्रत्येक शब्द के लिए लाइनों का एक सेट लौटने के लिए समझ में आता है। तब के आधार पर करता है, तो यह एक या या और आपरेशन मैं एक संघ या चौराहे प्रकार आपरेशन उन सेट पर एक नया सेट बना सकते हैं और उस पर पारित पेड़ अप करने के लिए प्रदर्शन करेंगे है।
मैं एक तरह से कैसे लाइन है कि अभिव्यक्ति शामिल पार्स करने के लिए पर खो रहा हूँ। के बाद कुछ सोचा था कि यह प्रतीत होता है कि उप-भाव से एक बाहर आगे उच्च यह मेरे रों अभिव्यक्ति पेड़ में होना चाहिए है? मुझे लगता है कि अगर मैं बस के रूप में अब तक पार्स के रूप में सही दिशा में एक धक्का मिल सकता है और पेड़ में भाव डालने मैं ठीक होना चाहिए।
मेरे नमूना पेड़ है कि मैं के लिए क्वेरी ऊपर तरह दिखता है के साथ आया था;
&
/ \
| water
/ \
& &
/ \ / \
fire forest ocean boat
यह समझ में आग लाइनों है कि सभी आग और वन शामिल लाइनों है कि सभी वन शामिल का एक सेट वापस होगा का एक सेट वापस होगा के रूप में आता है। फिर से और स्तर मैं उन दो सेट लेने के लिए और एक और सेट है कि केवल लाइनों है कि दोनों सेट इस प्रकार मुझे एक सेट केवल लाइनों जो दोनों आग और वन शामिल है कि देने में थे निहित पैदा करेगा।
मेरे अन्य ठोकर ब्लॉक के बाद मैं पार्स की बाधा को दूर करने के लिए कैसे पेड़ में सब कुछ का प्रतिनिधित्व करने के लिए है। मैं एक ExpTreeNode वर्ग है कि मेरे ExpTree (बीएसटी) के लिए नोड्स के रूप में काम करेगा और फिर मैं 2 उपवर्गों, ऑपरेटर और संकार्य है, लेकिन मुझे यकीन है कि अगर यह एक अच्छा तरीका है नहीं कर रहा हूँ।













