Traveling Salesman-Greedy algorithm (GTS1) Αρχικοποίηση: Θέσε tour , cost 0, επέλεξε μια αρχική κορυφή u και θέσε v u. Σημάδεψε τη u ως «used» και όλες τις άλλες κορυφές ως “unused” Επίσκεψη όλων των κορυφών: Για k 1 to n-1 επανέλαβε Επέλεξε την ακμή (v, w) με το μικρότερο κόστος έτσι ώστε η κορυφή w να είναι “unused” Θέσε tour tour+(v,w) και cost cost+a(v,w), σημάδεψε την w ως “used”, και θέσε v w Συμπλήρωση κύκλου: θέσε tour tour+(v,1) και cost cost+a(v,1). Σταμάτα.
Traveling Salesman-Greedy algorithm (GTS2) Δεδομένα: n πόλεις, p διαφορετικές αρχικές πόλεις, οι {v1, v2, …, vk} Αρχικοποίηση: Θέσε k 0, cost , best . Νέος κύκλος: Οσο k<p επανέλαβε Θέσε kk+1. Κάλεσε GTS1(vk), που επιστρέφει τον κύκλο T(k) με κόστος c(k) Ενημέρωση του καλύτερου κύκλου: Αν c(k)<cost τότε θέσε bestT(k) και costc(k)
Traveling Salesman-Greedy algorithm (GTS3) Εκτελούμε αναζήτηση σε βάθος (DFS) στο T Αν vi1, vi2, …, vip, η σειρά επίσκεψης των κορυφών του Τ, τότε ο κύκλος Hamilton είναι o vi1, vi2, …, vip, vi1