Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

ठीक k किनारों के साथ सबसे छोटा पथ


एक निर्देशित ग्राफ प्रत्येक शीर्ष जोड़े के बीच भार के साथ प्रदान किया जाता है, और दो शीर्ष u और v भी प्रदान किए जाते हैं। हमारा कार्य शीर्ष u से शीर्ष v तक की सबसे छोटी दूरी ढूंढना है, ठीक k संख्या के किनारों के साथ।

ठीक k किनारों के साथ सबसे छोटा पथ

इस समस्या को हल करने के लिए, हम शीर्ष u से शुरू करेंगे और सभी आसन्न शीर्षों पर जाएंगे और k मान का उपयोग करके k - 1 के रूप में आसन्न शीर्षों के लिए पुनरावृत्ति करेंगे।

इनपुट और आउटपुट

इनपुट: ग्राफ का लागत मैट्रिक्स। 0 10 3 2 ∞ 0 ∞ 7 ∞ ∞ 0 6 ∞ ∞ ∞ 0 आउटपुट: सबसे छोटे पथ का भार 9 है

एल्गोरिदम

shortKEdgePath(u, v, edge)

इनपुट: शीर्ष u और v, और किनारों की संख्या।

आउटपुट: सबसे छोटे पथ की दूरी।

शुरू     यदि edge = 0 और u = v, तो       वापस करें 0     यदि edge = 1 और cost[u, v] ≠ ∞, तो       वापस करें cost[u, v]     यदि edge <= 0, तो       वापस करें ∞     shortPath := ∞ सेट करें     सभी शीर्ष i के लिए, करें       यदि cost[u, i] ≠ ∞ और u ≠ i और v ≠ i, तो         tempRes := shortKEdgePath(i, v, edge - 1)         यदि tempRes ≠ ∞, तो           shortPath = shortPath और (cost[u,i]+tempRes का न्यूनतम     किया     shortPath वापस करें अंत

उदाहरण

#include <iostream> #define NODE 4 #define INF INT_MAX using namespace std; int cost[NODE][NODE] = {     {0, 10, 3, 2},     {INF, 0, INF, 7},     {INF, INF, 0, 6},     {INF, INF, INF, 0} }; int minimum(int a, int b) {     return (a

आउटपुट

Weight of the shortest path is 9

  1. सिंगल-सोर्स शॉर्टेस्ट पाथ, आर्बिट्रेरी वेट (बेलमैन-फोर्ड एल्गोरिदम) सिंगल-सोर्स शॉर्टेस्ट पाथ, आर्बिट्रेरी वेट (बेलमैन-फोर्ड एल्गोरिदम)

    सिंगल सोर्स शॉर्टेस्ट पाथ एल्गोरिदम (मनमाने वजन पॉजिटिव या नेगेटिव के लिए) को बेलमैन-फोर्ड एल्गोरिदम के रूप में भी जाना जाता है, जिसका उपयोग सोर्स वर्टेक्स से किसी अन्य वर्टेक्स तक न्यूनतम दूरी खोजने के लिए किया जाता है। इस एल्गोरिदम और डिज्क्स्ट्रा के एल्गोरिदम के बीच मुख्य अंतर यह है कि डिज्क्स्ट्

  1. 0-1 BFS (बाइनरी वेट ग्राफ में सबसे छोटा पथ) C प्रोग्राम में? 0-1 BFS (बाइनरी वेट ग्राफ में सबसे छोटा पथ) C प्रोग्राम में?

    मान लीजिए हमारे पास कुछ नोड्स और कनेक्टेड एज वाला एक ग्राफ है। प्रत्येक एज का बाइनरी वेट है। इसलिए वेट या तो 0 या 1 होगा। एक सोर्स वर्टेक्स दिया गया है। हमें सोर्स से किसी भी अन्य वर्टेक्स तक सबसे छोटा पथ ढूंढना है। मान लीजिए ग्राफ नीचे जैसा है: सामान्य BFS एल्गोरिदम में सभी एज वेट समान होते हैं।

  1. फेसबुक AI के साथ वास्तव में क्या कर रहा है? फेसबुक AI के साथ वास्तव में क्या कर रहा है?

    यदि फेसबुक के पास हाई-पावर्ड, सेल्फ-टॉट कंप्यूटर्स का विचार जो साइट पर आपके हर कदम को देख रहे हैं, आपको थोड़ा परेशान करता है, तो आप उनके समर्पित AI रिसर्च लैब में बहुत दूर नहीं देखना चाहेंगे। फेसबुक का फोटो टैगिंग, फ्रेंड रिकमेंडेशन, फेक-न्यूज फिल्टर, टाइमलाइन सॉर्टिंग, और कई अन्य फीचर्स सभी किसी न