आप सही कह रहे हैं कि दिज्क्स्त्र के दो एल्गोरिदम (एक एकल प्रारंभ नोड से सबसे छोटे रास्ते) और प्राइम (किसी दिए गए नोड से शुरू होने वाले न्यूनतम वजन वाले पेड़) में एक समान संरचना है। वे दोनों लालची हैं (वर्तमान दृष्टिकोण से सबसे अच्छा किनारा लेते हैं) और ग्राफ में फैले एक पेड़ का निर्माण करते हैं।
हालांकि वे जो मूल्य कम करते हैं वह अलग है। दिज्क्स्ट्रा अगले किनारे के रूप में चयन करता है जो पेड़ से एक नोड तक जाता है जो अभी तक शुरुआती नोड के करीब नहीं चुना गया है। (फिर इस पसंद के साथ, दूरियों की पुन: गणना की जाती है।) प्राइम चोज सबसे छोटे किनारे के रूप में होता है, जो अब तक बनाए गए पेड़ से निकलता है। इसलिए, दोनों एल्गोरिदम ने "न्यूनतम बढ़त" चुना। मुख्य अंतर न्यूनतम होने के लिए चुना गया मूल्य है। दिज्क्स्त्र के लिए यह प्रारंभ नोड से उम्मीदवार नोड तक पूर्ण पथ की लंबाई है, प्राइम के लिए यह केवल उस एक किनारे का वजन है।
अंतर देखने के लिए आपको कुछ उदाहरणों का निर्माण करने की कोशिश करनी चाहिए कि क्या होता है, यह वास्तव में शिक्षाप्रद है। अलग-अलग व्यवहार को दिखाने वाला सबसे सरल उदाहरण एक त्रिकोण जिसमें किनारों और की लंबाई 2 है, जबकि की लंबाई 1. है। Dijkstra और (लंबाई के दो मार्ग देगा) का चयन करेगा, जबकि प्राइम _ और चुनता है (फैले हुए वृक्ष का वजन 3)।x,y,z{x,y}{x,z}{y,z}x{x,y}{x,z}{x,y}{y,z}
के रूप में Kruskal , कि थोड़ी अलग है। यह कम से कम फैले हुए पेड़ को हल करता है, लेकिन निष्पादन के दौरान यह किनारे का चयन करता है जो पेड़ नहीं बन सकता है, वे सिर्फ चक्र से बचते हैं। तो आंशिक समाधान काट दिया जा सकता है। अंत में आपको एक पेड़ मिलता है।