2011-12-13 25 views
5

मैं जानना चाहता हूं कि कौन सा डेटा संरचना किसी व्यक्ति के लिए पारिवारिक पेड़ को संग्रहीत करने के लिए सर्वोत्तम है, वहां स्पाउज़ल, बच्चे और माता-पिता संबंध हैं। इसके अलावा मैं जानना चाहता हूं कि अगर एक व्यक्ति के साथ रक्त संबंध है।पारिवारिक पेड़ के लिए डेटा संरचना

यह अच्छा होगा कि मैं सी ++ एसटीएल से कुछ डेटा संरचना पाई जा सकती है।

बस विचारों की आवश्यकता है।

उत्तर

3

क्या यह होमवर्क है?

भले ही इसे "वृक्ष" कहा जाता है, यह एक खराब संरचना है: दो बहनों से शादी करने वाले दो भाई की कल्पना करें।

एक सामान्य ग्राफ संरचना सर्वश्रेष्ठ होगी (एक पेड़ ग्राफ का एक विशिष्ट रूप है)। किनारे संबंध ले जाएगा। फिर आप पथ पथ एल्गोरिदम (जैसे पुराने पुराने डिज्कास्ट्रा) को केवल किनारों पर चल सकते हैं जो रक्त संबंध का प्रतिनिधित्व करते हैं।

और बूस्ट :: ग्राफ एक बहुत अच्छी लाइब्रेरी है।

+0

कोई घर नहीं है –

4

ग्राफ इसके लिए सबसे उपयुक्त होगा, और मेरा सुझाव है कि आप Boost का उपयोग करें।

ध्यान दें कि परिवार के पेड़ का निर्माण करना मुश्किल साबित हो सकता है, जैसा कि this question द्वारा दिखाया गया है।

अन्यथा, std ग्राफ़ डेटा संरचना को परिभाषित नहीं करता है। और चूंकि एक ग्राफ स्पष्ट रूप से आपकी स्थिति के लिए उपयुक्त है, मेरा सुझाव है कि आप या तो अपना खुद का संस्करण लागू करें, या Boost का उपयोग करें।

+1

मैं बस उस लिंक को पोस्ट करने वाला था ... +1 :) – jrok

+0

@jrok yup, यह एक क्लासिक है :) –

संबंधित मुद्दे