| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1963 人关注过本帖
标题:各位达人,帮帮忙,帮小弟编个程序,题目叫:图遍历的演示,要求看下面
只看楼主 加入收藏
天使守护者
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-6-23
收藏
 问题点数:0 回复次数:7 
各位达人,帮帮忙,帮小弟编个程序,题目叫:图遍历的演示,要求看下面

【问题描述】:很多涉及图上操作的算法都是以图的遍历操作为基础的。试写一个程序,演示在连通的无向图上访问全部结点的操作。

【基本要求】:以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。 希望有高手编出来的发我信箱,253了~~~

搜索更多相关主题的帖子: 遍历 演示 题目 
2005-06-23 20:35
ooooo
Rank: 1
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2005-6-24
收藏
得分:0 
What is your email Address?

2005-06-24 22:57
zhum83
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-6-13
收藏
得分:0 

我也要做,哪位大哥大姐帮忙小弟啊
zhum83@163.com
感激8尽

2006-06-13 15:03
Bluesky1840
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-20
收藏
得分:0 

我也要啊  拜托

2006-06-20 08:49
Bluesky1840
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-20
收藏
得分:0 
2006-06-20 08:51
C++大粉丝
Rank: 4
等 级:贵宾
威 望:10
帖 子:477
专家分:0
注 册:2004-4-23
收藏
得分:0 
。。。。。。

上学都干什么去了,自己写,有问题上来问。

I am a big fan of c plus plus.
2006-06-20 10:32
mwxy1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-6-20
收藏
得分:0 
#include "stdafx.h"
#include"iostream.h"
const int n=8;
const int e=15;
typedef int elemtype ;
bool visited[n+1];
class link
{public:
elemtype data;
link *next;
};
class graph
{public:
link a[n+1];
void creatlink()
{int i,j,k;
link *s;
for(i=1;i<=n;i++)
{a[i].data=i;
a[i].next=NULL;
}
for(k=1;k<=e;k++)
{cout<<"请输入一条边";
cin>>i>>j;
cout<<endl;
s=new link;
s->data=j;
s->next=a[i].next;
a[j].next=s;
}
}
void dfs1(int i)
{link *p;
cout<<a[i].data<<" ";
visited[i]=true;
p=a[i].next;
while(p!=NULL)
{if(!visited[p->data])
dfs1(p->data);
p=p->next;
}
}
void bfs1(int i)
{int q[n+1];
int f,r;
link *p;
f=r=0;
cout<<a[i].data<<" ";
visited[i]=true;
r++;q[r]=i;
while(f<r)
{f++;i=q[r];
p=a[i].next;
while(p!=NULL)
{if(!visited[p->data])
{cout<<a[p->data].data<<" ";
visited[p->data]=true;
r++;q[r]=p->data;
}
p=p->next;
}
}
}
};
void main()
{link *p;int yn=1;
graph g;
g.creatlink();
while(yn){
for(int i=1;i<=n;i++)
{p=g.a[i].next;
cout<<g.a[i].data<<"->";
while(p->next!=NULL)
{cout<<p->data<<"->";
p=p->next;
}
cout<<p->data<<endl;
}
for(i=1;i<=n;i++)
visited[i]=false;
cout<<"输入深度优先搜索开始访问的顶点";
cin>>i;
cout<<endl;
cout<<"从"<<i<<"出发的深度优先搜索遍历序列为"<<endl;
g.dfs1(i);
cout<<endl;
for(i=1;i<=n;i++)
visited[i]=false;
cout<<"请输入广度优先搜索开始访问的顶点";
cin>>i;
cout<<endl;
cout<<"从"<<i<<"出发的广度优先搜索遍历序列为"<<endl;
g.bfs1(i);
cout<<endl;
cout<<"继续遍历吗(1/0)?";
cin>>yn;
}}
图为:
1 2 3

5 4

6 7 8
2006-06-20 11:40
covertutu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-18
收藏
得分:0 
回复:(mwxy1)#include

有没有C++版的啊


黑暗凝聚灵魂,堕落方能自由,觉醒吧,沉睡在我血液中无尽的魔力!!天使之血!!!!!
2007-06-18 19:33
快速回复:各位达人,帮帮忙,帮小弟编个程序,题目叫:图遍历的演示,要求看下面 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012624 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved