資源簡介
C++利用蟻群算法,求解TSP問題。含代碼,可用VC2010打開。

代碼片段和文件信息
//#include“ComHeadFile.h“
#include“Graph.h“
Graph::Graph()
{
vexnum=arcnum=0;
for(int?i=0;i for(int?j=0;j arcs[i][j].value=0;
for(int?i=0;i visited[i]=0;
}
int?Graph::FindNum(string?c)?????????//根據名字找到節點編號
{
int?num;
for(num=0;num {
if(c==vex[num])
break;
}
if(num else?return?-1;
}
void?Graph::CreatGraph()
{
int?xy;??????????????????????//臨時坐標
ifstream?inFile(“graph.txt“);
string?c;
vexnum=0;
arcnum=0;
if(inFile.fail())?{cout<<“Fail?to?open?file“<
inFile.seekg(0Lios::beg);
getline(inFilec);
if(c==“DG“)?kind=DG;
else?if(c==“AG“)?kind=AG;
else?if(c==“DN“)?kind=DN;
else?if(c==“AN“)?kind=AN;
inFile>>vexnum;
inFile>>arcnum;
for(int?i=0;i {
inFile>>x;
inFile>>y;
if(kind==DG||kind==AG)?arcs[x][y].value=1;
else??inFile>>arcs[x][y].value;
if?(kind==DG||kind==DN)?
{
arcs[y][x].value=arcs[x][y].value;
arcs[x][y].Pass=arcs[y][x].Pass=0;
arcs[x][y].Element=arcs[y][x].Element=ORGINAL_ELEMENT;
}
}
inFile.get();
for(int?i=0;i {
getline(inFilec);
vex[i]=c;
}
inFile.close();
}
void?Graph::PrintGraph()
{
cout<<“Graph?Kind:“< cout<<“Vex?Num“< cout<<“Arc?Num“<
for(int?i=0;i {
for(int?j=0;j {
cout< }
cout< }
for(int?i=0;i {
cout<<“No?“< }
}
void?Graph::InsertVex(string?c)???????????????//插入節點
{
}
void?Graph::DeleteVex(int?v)???????????????//刪除結點
{
?
}
//void?Graph::InsertArc(int?vint?wint?i=1)?????//增加弧v->w?無向則同時增加w->v?無權則權值為1?
//void?Graph::DeleteArc(int?vint?w)
void?Graph::DFSTraverse(int?v)
{
stack?dfs;
dfs.push(v);
while(dfs.size())
{
int?tmp=dfs.top();
if(!visited[tmp])
{
visit(thistmp);
visited[tmp]=1;
}
dfs.pop();
for(int?i=vexnum-1;i>=0;i--)
{
if(arcs[tmp][i].value)
if(!visited[i])
{
dfs.push(i);
}
}
}
????for(int?i=0;i visited[i]=0;
}
void?Graph::BFSTraverse(int?v)
{
queue?bfs;
bfs.push(v);
visited[v]=1;
while(bfs.size())
{
int?tmp=bfs.front();
visit(thistmp);
bfs.pop();
for(int?i=0;i {
if(arcs[tmp][i].value)
if(!visited[i])
{
bfs.push(i);
visited[i]=1;
}
}
}
????for(int?i=0;i visited[i]=0;
}
void?Graph::ShortestPath_DIJ(int?v/*int?*pathint?*distance*/)
{
int?pathNow=v;???????????????????//現在走到哪里去了==
bool?*done=new?bool[vexnum];????????????????????????????//標記是否找到
int?*path=new?int[vexnum];
int?*distance=new?int[vexnum];
for(int?i=0;i {
path[i]=v;
done[i]=0;
distance[i]=(arcs[v][i].value==0)?INT_MAX:arcs[v][i].value;
}
distance[v]=0;
done[v
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-06-13?22:54??TSP\
?????目錄???????????0??2013-06-13?22:54??TSP\ALL_tsp\
?????文件????????1296??2013-06-04?18:16??TSP\ALL_tsp\a280.opt.tour
?????文件?????????589??1995-04-27?23:09??TSP\ALL_tsp\a280.opt.tour.gz
?????文件????????1331??1995-04-27?23:08??TSP\ALL_tsp\a280.tsp.gz
?????文件????????9548??1994-04-28?18:43??TSP\ALL_tsp\ali535.tsp
?????文件????????4202??1995-04-27?23:08??TSP\ALL_tsp\ali535.tsp.gz
?????文件?????????211??1995-04-27?23:09??TSP\ALL_tsp\att48.opt.tour.gz
?????文件?????????480??1995-04-27?23:08??TSP\ALL_tsp\att48.tsp.gz
?????文件????????3617??1995-04-27?23:08??TSP\ALL_tsp\att532.tsp.gz
?????文件?????????181??1995-04-27?23:09??TSP\ALL_tsp\bayg29.opt.tour.gz
?????文件????????1196??1995-04-27?23:08??TSP\ALL_tsp\bayg29.tsp.gz
?????文件?????????179??1995-04-27?23:09??TSP\ALL_tsp\bays29.opt.tour.gz
?????文件????????1941??1995-04-27?23:08??TSP\ALL_tsp\bays29.tsp.gz
?????文件?????????192??1995-04-27?23:09??TSP\ALL_tsp\berlin52.opt.tour.gz
?????文件?????????472??1995-04-27?23:08??TSP\ALL_tsp\berlin52.tsp.gz
?????文件?????????991??1995-04-27?23:08??TSP\ALL_tsp\bier127.tsp.gz
?????文件????????3947??1995-04-27?23:08??TSP\ALL_tsp\brazil58.tsp.gz
?????文件???????92153??1995-04-27?23:08??TSP\ALL_tsp\brd14051.tsp.gz
?????文件?????????403??1995-04-27?23:09??TSP\ALL_tsp\brg180.opt.tour.gz
?????文件????????4443??1995-04-27?23:08??TSP\ALL_tsp\brg180.tsp.gz
?????文件?????????307??1995-04-27?23:08??TSP\ALL_tsp\burma14.tsp.gz
?????文件?????????325??1995-04-27?23:09??TSP\ALL_tsp\ch130.opt.tour.gz
?????文件????????2475??1995-04-27?23:08??TSP\ALL_tsp\ch130.tsp.gz
?????文件?????????366??1995-04-27?23:09??TSP\ALL_tsp\ch150.opt.tour.gz
?????文件????????2847??1995-04-27?23:08??TSP\ALL_tsp\ch150.tsp.gz
?????文件????????5705??1995-04-27?23:08??TSP\ALL_tsp\d1291.tsp.gz
?????文件??????110191??1995-06-20?21:34??TSP\ALL_tsp\d15112.tsp.gz
?????文件????????7922??1995-04-27?23:08??TSP\ALL_tsp\d1655.tsp.gz
?????文件??????122371??1995-04-27?23:09??TSP\ALL_tsp\d18512.tsp.gz
?????文件????????1215??1995-04-27?23:09??TSP\ALL_tsp\d198.tsp.gz
............此處省略174個文件信息
- 上一篇:C語言編的數據庫管理系統DBMS
- 下一篇:虛擬三維場景opengl編程
評論
共有 條評論