algorithm - Order objects in hierarchic lists acording to their mutual dependence -
मेरे पास परस्पर निर्भरता के साथ कुछ ऑब्जेक्ट हैं।
- ए
- ई (बी और एफ पर निर्भर)
- सी (बी के निर्भर)
- जी
- एच (बी के निर्भर)
मैं इन ऑब्जेक्ट्स की पदानुक्रम सूची बनाना चाहता हूं जहां कोई ऑब्जेक्ट
- ए, डी, जी (इन ऑब्जेक्ट्स के पास है) सूची में रखा गया है।
- बी (बी का निर्भर करती है)
- सी, एच (सी और एच बी की निर्भर करता है)
- एफ (एफ सी के निर्भर) < / Li>
- ई (ई बी और एफ के आधार पर)
क्या एल्गोरिथ्म इस समस्या को हल कर सकता है?
यदि आपके पास पहले से कोई भी संरचना नहीं है, तो आपको ब्रूट बल का उपयोग करना चाहिए।
मैं एक सूची का उपयोग करेगा, जो स्कीमा में खड़ी रूप से विस्तार करेगी और ऊर्ध्वाधर सूची के प्रत्येक नोड के लिए एक।
तो, आपके उदाहरण में, मैं woul डी में ऊर्ध्वाधर सूची में 5 नोड हैं और पहली नोड के लिए, मुझे 3 नोड्स के साथ एक सूची होगी (पहला नोड A, दूसरे डी और तीसरे जी की मेजबानी करेगा)। ऊर्ध्वाधर सूची के दूसरे नोड में, एक नोड के साथ एक सूची होगी, जो कि बी और इसी तरह रखेगी।
तो एल्गोरिथ्म कुछ ऐसा होगा:
1. प्रत्येक आइटम के लिए 2. अगर सूची में आइटम निर्भरता 3. सही नोड में अनुलग्न वस्तु 4. अन्य // आइटम सूची में नहीं 5. आइटम की निर्भरता के साथ सूची में नोड बनाएं 6. निर्मित नोड में आइटम संलग्न करें
तो, उपरोक्त छद्म कोड में, जब मैं सूची कहता हूं, मेरा मतलब है कि ऊर्ध्वाधर।
चरण 1 में, हम आपके पास सभी चीजों की जांच करते हैं।
चरण 2 पर, आप जांचते हैं कि वर्तमान में आप जिस आइटम को संसाधित कर रहे हैं, वह सूची में मौजूद है (संपूर्ण सूची को खोज कर और स्थिति में पहुंचने या कुछ चालाक लौटकर)।
चरण 3 , आप चरण 2 में मिली स्थिति पर जाते हैं और आप नोड पर स्थित सूची के अंत में अपने आइटम के मूल्य (आप को फिर से निर्भरता को संग्रहित करने की आवश्यकता नहीं है) में डाल देते हैं। ध्यान दें कि अगर स्थिति में नोड की सूची में कोई प्रविष्टि नहीं है, तो आपको इसे सूची बनाने की भी आवश्यकता है।
चरण 4 में, हम मामले में हैं कि हमारी सूची सूची में नहीं मिली है। < / P>
चरण 5 में, हम सूची में एक नया नोड बनाते हैं, जो आइटम की निर्भरता के मूल्य के रूप में होगा।
चरण 6 में, हम आइटम को नोड में बनाया चरण 5।
आशा है कि यह मदद करता है!
Comments
Post a Comment