কম্পিউটার

নিকটতম প্রতিবেশী অ্যালগরিদম ব্যবহার করে ভ্রমণ বিক্রয়কর্মী সমস্যা বাস্তবায়নের জন্য C++ প্রোগ্রাম


নিকটতম প্রতিবেশী অ্যালগরিদম ব্যবহার করে ভ্রমণ বিক্রয়কর্মী সমস্যা বাস্তবায়নের জন্য এখানে একটি C++ প্রোগ্রাম রয়েছে।

প্রয়োজনীয় ফাংশন এবং সিউডোকোড

অ্যালগরিদম

Begin
   Initialize c = 0, cost = 1000;
   Initialize g[][].
   function swap() is used to swap two values x and y.
   function cal_sum() to calculate the cost which take array a[] and size of array as input.
   Initialize sum = 0.
   for i = 0 to n
      compute s+= g[a[i %3]][a[(i+ 1) %3]];
   if (cost >s)
      cost = s
   function permute() is used to perform permutation:
      if there is one element in array
         call cal_sum().
      else
   for j = i to n
      swap (a+i) with (a + j)
      cal_sum(a+1,n)
      swap (a+i) with (a + j)
End

উদাহরণ কোড

#include<iostream>
using namespace std;
int c = 0, cost = 1000;
int g[3][3 ]={{1, 2, 3}, {4, 5, 8}, {6, 7, 10}};
void swap(int *x, int *y) {
   int t;
   t = *x;
   *x = *y;
   *y = t;
}
void cal_sum(int *a, int n) {
   int i, s= 0;
   for (i = 0; i <= n; i++) {
      s+= g[a[i %3]][a[(i+ 1) %3]];
   } if (cost >s) {
      cost = s;
   }
}
void permute(int *a,int i,int n) {
   int j, k;
   if (i == n) {
      cal_sum (a,n);
   } else {
      for (j = i; j <= n; j++) {
         swap((a + i), (a + j));
         cal_sum(a+1,n);
         swap((a + i), (a + j));
      }
   }
}
int main() {
   int i, j;
   int a[] = {1,2,3};
   permute(a, 0,2);
   cout << "minimum cost:" << cost << endl;
}

আউটপুট

Comparing str1 and str2 using ==, Res: 0
Comparing str1 and str3 using ==, Res: 1
Comparing str1 and str2 using compare(), Res: -1024
Comparing str1 and str3 using compare(), Res: 0

  1. বর্ধিত ইউক্লিডীয় অ্যালগরিদম বাস্তবায়নের জন্য C++ প্রোগ্রাম

  2. 2টি স্বাক্ষরিত সংখ্যার গুণনের জন্য বুথের গুণন অ্যালগরিদম বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. ডায়নামিক প্রোগ্রামিং ব্যবহার করে ন্যাপস্যাক সমস্যা সমাধানের জন্য C++ প্রোগ্রাম

  4. হিপ সর্ট অ্যালগরিদম ব্যবহার করে 10টি উপাদানের একটি অ্যারে সাজানোর জন্য C++ প্রোগ্রাম