इस परियोजना की समय सीमा बहुत जल्दी बंद हो रही है और मेरे पास जो भी बचा है उससे निपटने के लिए मेरे पास अधिक समय नहीं है। तो, सबसे अच्छा (और शायद अधिक जटिल/समय लेने वाला) एल्गोरिदम की तलाश करने के बजाय, मैं ग्राफ संरचना पर कुछ संचालन को लागू करने के लिए सबसे आसान एल्गोरिदम ढूंढ रहा हूं।कुछ ग्राफ परिचालनों के लिए सबसे आसान एल्गोरिदम के सुझाव
- सूची ग्राफ नेटवर्क में सभी उपयोगकर्ताओं को एक दूरी एक्स दिया
- सूची ग्राफ नेटवर्क में सभी उपयोगकर्ताओं को एक दूरी एक्स और प्रकार दिया:
संचालन मैं करने की आवश्यकता होगी इस प्रकार है संबंध के
- संबंध का एक प्रकार
- ग्राफ नेटवर्क
- मो की गणना पर 2 उपयोगकर्ताओं के बीच अधिकतम दूरी की गणना दिए गए ग्राफ नेटवर्क पर 2 उपयोगकर्ताओं के बीच सबसे कम पथ की गणना करें ग्राफ नेटवर्क
मेरी ग्राफ़ कार्यान्वयन बारे में कुछ नोट पर सेंट दूर जुड़े उपयोगकर्ताओं:
- बढ़त नोड, 2 गुण है एक प्रकार
char
और एक अन्यint
की है। वे क्रमशः संबंध और वजन के प्रकार का प्रतिनिधित्व करते हैं। - ग्राफ़ को लंबवत सूचियों के साथ कार्यान्वित किया गया है, दोनों कोने और किनारों के लिए। मेरा मतलब है, प्रत्येक वर्टेक्स अगले एक को इंगित करता है और प्रत्येक कशेरुक भी एक अलग लिंक्ड सूची के सिर को इंगित करता है, उस विशिष्ट चरम के किनारों पर।
क्या मैं क्या मैं क्या करने की जरूरत के बारे में पता:
- मैं, जैसा कि मैंने ऊपर कहा है कि अगर यह सबसे आसान है पता नहीं है, लेकिन 2 उपयोगकर्ताओं के बीच सबसे कम पथ के लिए, मेरा मानना है कि डिज्कस्ट्रा एल्गोरिदम वह है जो लोग अक्सर अनुशंसा करते हैं, इसलिए मुझे लगता है कि मैं इसके साथ जा रहा हूं।
- मैं खोज रहा था और खोज और मैं इसे कठिन इस एल्गोरिथ्म लागू करने के लिए की खोज कर रहा हूँ, किसी को भी किसी भी ट्यूटोरियल या कुछ और समझने के लिए तो मैं इस एल्गोरिथ्म अपने आप लागू कर सकते हैं आसान का पता है? यदि संभव हो, सी स्रोत कोड उदाहरणों के साथ, यह बहुत मदद करेगा। मैं गणित नोटेशन के साथ कई उदाहरण देखता हूं लेकिन यह मुझे और भी भ्रमित करता है।
- क्या आपको लगता है कि यदि मैं लिंक वजन और संबंध प्रकार का प्रतिनिधित्व करने के लिए ग्राफ को एक आसन्न मैट्रिक्स में "रूपांतरित" करता हूं तो इससे मदद मिलेगी? क्या लिंक्ड सूचियों के बजाय उस पर एल्गोरिदम निष्पादित करना आसान होगा? आवश्यकता होने पर रूपांतरण को करने के लिए मैं आसानी से एक फ़ंक्शन को कार्यान्वित कर सकता था। मैं यह कह रहा हूं क्योंकि मुझे लगता है कि विषय के बारे में कुछ पेज पढ़ने के बाद यह आसान होगा, लेकिन मैं गलत हो सकता था।
- मेरे पास अन्य 4 संचालन, सुझावों के बारे में कोई विचार नहीं है?
1) दूरी एक्स, मुझे लगता है कि यह 2 नोड्स के बीच कुल वजन की तरह है। 2) मुझे नहीं पता कि कितनी बार, ऊपर दिए गए ऑपरेशन यूआई मेनू में विकल्प हैं। 3) यह प्रदान किए गए डेटा नमूने पर ~ 520000 लिंक के साथ ~ 18000 शिखर जैसा है। 4) इसके अलावा, लिंक के लिए धन्यवाद, मैं जांच करूंगा ... –
मैंने अपना जवाब अपडेट किया, और कुछ और प्रश्न भी जोड़े :)। – IVlad
कोई विशेष गुण नहीं हैं ... ठीक है, अगर आप कहते हैं कि कोई विशेष एल्गोरिदम नहीं है और यह सामान्य लोगों के साथ बहुत लंबा समय लगेगा, क्योंकि मैं इन परिचालनों के बिंदु को परियोजना का हिस्सा नहीं समझता हूं। पिछले साल (जो मैंने व्यक्तिगत मुद्दों के कारण पूरा नहीं किया था) परियोजना समान थी लेकिन केवल सबसे छोटा रास्ता पूछा गया था: एस –