| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2189 人关注过本帖
标题:数据结构 图的抽象数据类型的 实现 请教
只看楼主 加入收藏
Harder1
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
数据结构 图的抽象数据类型的 实现 请教
一个实验课题,实在无从下手,所以请教下各位大大,怎么编写源代码,实现以下功能

也就是图的抽象数据类型的实现(即实现下边给出的基本操作)

ADT Graph{  

     数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。  

         数据关系R:R={VR}  

     VR={<v,w>|v,w∈V且P(v,w),<v,w>表示从v到w的弧,  

         谓词P(v,w)定义了弧<v,w>的意义或信息}  

     基本操作:  

     CreateGraph( &G, V, VR )  

     初始条件:V是图的顶点集,VR是图中弧的集合。  

     操作结果:按V和VR的定义构造图G。  

     DestroyGraph( &G )  

     初始条件:图G存在。  

     操作结果:销毁图G。  

     LocateVex( G, u )  

     初始条件:图G存在,u和G中顶点有相同特征。  

     操作结果:若G中存在顶点u,则返回该顶点在图中位置;否则返回其它信息。  

     GetVex( G, v )  

     初始条件:图G存在,v是G中某个顶点。  

     操作结果:返回v的值。  

     PutVex( &G, v, value )  

     初始条件:图G存在,v是G中某个顶点。  

     操作结果:对v赋值value。  

     FirstAdjVex( G, v )  

     初始条件:图G存在,v是G中某个顶点。  

     操作结果:返回v的第一个邻接顶点。若顶点在G中没有邻接顶点,则返回“空”。  

     NextAdjVex( G, v, w )  
   
     初始条件:图G存在,v是G中某个顶点,w是v的邻接顶点。  

     操作结果:返回v的(相对于w的)下一个邻接顶点。若w是v的最后一个邻接点,则返回“空”。  

     InsertVex( &G, v )  

     初始条件:图G存在,v和图中顶点有相同特征。  

     操作结果:在图G中增添新顶点v。  

     DeleteVex( &G, v )  

     初始条件:图G存在,v是G中某个顶点。  

     操作结果:删除G中顶点v及其相关的弧。  

     InsertArc( &G, v, w )  

     初始条件:图G存在,v和w是G中两个顶点。  

     操作结果:在G中增添弧<v,w>,若G是无向的,则还增添对称弧<v,w>。  

     DeleteArc( &G, v, w )  

     初始条件:图G存在,v和w是G中两个顶点。  

     操作结果:在G中删除弧<v,w>,若G是无向的,则还删除对称弧<v,w>。  

     DFSTraverse( G, Visit() )  

     初始条件:图G存在,Visit是顶点的应用函数。  

     操作结果:对图进行深度优先遍历。在遍历过程中对每个顶点调用函数Visit一次且仅一次。一旦visit()失败,则操作失败。  

     BFSTraverse( G, Visit() )  

     初始条件:图G存在,Visit是顶点的应用函数。  

     操作结果:对图进行广度优先遍历。在遍历过程中对每个顶点调用函数Visit一次且仅一次。一旦visit()失败,则操作失败。  

 }ADT Graph
搜索更多相关主题的帖子: 信息 源代码 元素 
2011-07-03 19:40
Harder1
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-3
收藏
得分:0 
请问问
2011-07-03 19:40
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
收藏
得分:10 
回复 2楼 Harder1
修改临接表似乎能完成部分题目。最后一个只要求了先深搜索。具体的还得好好看题,慢慢想,想好再做。

[ 本帖最后由 qldxsun 于 2011-7-3 20:57 编辑 ]
2011-07-03 20:53
Harder1
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-7-3
收藏
得分:0 
回复 3楼 qldxsun
如果整个过程独立完成要多少天????
2011-07-04 02:06
qldxsun
Rank: 4
等 级:业余侠客
帖 子:125
专家分:240
注 册:2011-6-4
收藏
得分:0 
回复 4楼 Harder1
即使一点不会现翻书一天半应该就能搞定。前提是你有一定的数据结构课程的基础。用临接表解决的问题就是c的应用,想好算法写就行了。先深搜索方面要用递归来做。一个主控函数一个搜索函数。把算法搞通的实现很简单。
2011-07-05 17:30
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:10 
图.zip (5.88 KB)

我写的图类 基本都实现了   不过前题是你得会把这些文件组合起来

                                         
===========深入<----------------->浅出============
2011-07-06 09:47
快速回复:数据结构 图的抽象数据类型的 实现 请教
数据加载中...
 
   



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

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