2010-03-25 12 views
5

में एक आसन्न मैट्रिक्स को कार्यान्वित करने के लिए मैं जावा में एक आसन्न मैट्रिक्स को कार्यान्वित करने की कोशिश कर रहा हूं जो हैमिल्टनियन चक्र के लिए एक आउटपुट उत्पन्न करेगा, जिसे बाद में विभिन्न एल्गोरिदम जैसे क्रुस्कुरल्स, डीजेकस्ट्रस और 2 ओपेट के साथ हल किया जा सकता है दृष्टिकोण। मुझे पता है कि मुझे 2 डी सरणी चाहिए लेकिन मुझे नहीं पता कि कहां से शुरू करना है। मुझे मैट्रिक्स को स्टोर करने और इसे मेरे पास ग्राफ पर लागू करने में सक्षम होना चाहिए, जो वर्तमान में "एन" नोड्स (मैट्रिक्स पर निर्भर) वाला सर्कल है। सभी मदद का स्वागत किया है, धन्यवादजावा उत्पादक हैमिल्टन चक्र

उत्तर

5

यहाँ है एक कंकाल आप से काम कर सकते हैं:

public class Graph { 
    public final int V; 
    private boolean[][] hasEdge; 

    public Graph(int V) { 
     this.V = V; 
     hasEdge = new boolean[V][V]; 
    } 

    public void addEdge(int v1, int v2) { 
     hasEdge[v1][v2] = hasEdge[v2][v1] = true; 
    } 
    public boolean hasEdge(int v1, int v2) { 
     return hasEdge[v1][v2]; 
    } 
} 

चीजें आप पर सुधार कर सकते हैं:

  • शायद नोड्स के बीच कई किनारों की अनुमति देते हैं?
  • शायद भारित किनारों की अनुमति दें?
  • शायद Node का उपयोग int के बजाय सूचकांक के लिए करें?
  • आदि ...
+0

धन्यवाद जो बहुत उपयोगी है – alchemey89