旅行商問題(貪婪法)

2021-05-26 15:00:03 字數 1095 閱讀 6569

//.................h

/** greedytsp.h

**  created on: 2011-7-12

*      author: 哈哈

*/#ifndef greedytsp_h_

#define greedytsp_h_

#include

using namespace std;

#include

#include

void printstate(vector unvisted)

void initial(vector&unvisited, int n)

//template

float ** readdata(int &size)

file >> size;

float **c = new float *[size];

for (int i = 0; i < size; i++)

c[i] = new float[size];

for (int i = 0; i < size; i++)

for (int j = 0; j < size; j++)

file >> c[i][j];

file.close();

//cout << "data read over" << endl;

return c;

}//template

float greedytsp(float **c, int n, int *steps)

unvisted.erase(unvisted.begin() + tomove);

totalcost += weight;

for (int i = 0; i < n; i++)

cout << steps[i] << " ";

cout << endl << totalcost << endl;

return totalcost;

}#endif /* greedytsp_h_ */

//...........................cpp

int main(int argc, char *argv)

回溯法 旅行商問題

給定無向圖g n,e 含有n個結點,m條邊。現在有以下定義 有乙個商人從1號結點出發,希望經過每個結點一次回到起點,並且他希望走權值最小的一條路徑。輸入第一行2個整數n,m 接下來m行,每行三個數,u,v,w表示u,v結點有一條權值為w的無向邊。如果不存在這種路徑,列印 1 否則列印兩行。第一行乙個...

旅行商問題

旅行商問題 乙個商人從城市a出發,訪問bcde等城市各一次最後回到a,問行程如何使得路程或費用最低。這是個np 非多項式可解,但一般驗證容易 問題,假設中間有4個城市,那麼全排列為4!24種,沒有很好的演算法,基本只能窮舉了。class vertex 4 public class lianxi pu...

旅行商問題

一銷售商從n個城市中的某一城市出發,不重複地走完其餘n 1個城市並回到原出發點,在所有可能的路徑中求出路徑長度最短的一條。本題假定該旅行商從第1個城市出發。對每個測試例,第1行有兩個整數 n 4 n 10 和m 4 m 20 n是結點數,m是邊數。接下來m行,描述邊的關係,每行3個整數 i,j le...