首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

VC++2012编程演示数据结构《29》图

2012-11-22 
VC++2012编程演练数据结构《29》图图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图

VC++2012编程演练数据结构《29》图
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
  在上面两个图结构中,一个是有向图,即每条边都有方向,另一个是无向图,即每条边都没有方向。
  在有向图中,通常将边称作弧,含箭头的一端称为弧头,另一端称为弧尾,记作<vi,vj>,它表示从顶点vi到顶点vj有一条边。
  若有向图中有n个顶点,则最多有n(n-1)条弧,我们又将具有n(n-1)条弧的有向图称作有向完全图。以顶点v为弧尾的弧的数目称作顶点v的出度,以顶点v为弧头的弧的数目称作顶点v的入度。在无向图中,边记作(vi,vj),它蕴涵着存在< vi,vj>和<vj,vi>两条弧。若无向图中有n个顶点,则最多有n(n-1)/2条弧,我们又将具有n(n-1)/2条弧的无向图称作无向完全图。与顶点v相关的边的条数称作顶点v的度。
  路径长度是指路径上边或弧的数目。
  若第一个顶点和最后一个顶点相同,则这条路径是一条回路。
  若路径中顶点没有重复出现,则称这条路径为简单路径。
  在无向图中,如果从顶点vi到顶点vj有路径,则称vi和vj连通。如果图中任意两个顶点之间都连通,则称该图为连通图,否则,将其中的极大连通子图称为连通分量。
  在有向图中,如果对于每一对顶点vi和vj,从vi到vj和从vj到vi都有路径,则称该图为强连通图;否则,将其中的极大连通子图称为强连通分量。
图的基本操作
  (1)创建一个图结构 CreateGraph(G)
  (2)检索给定顶点 LocateVex(G,elem)
  (3)获取图中某个顶点 GetVex(G,v)
  (4)为图中顶点赋值 PutVex(G,v,value)
  (5)返回第一个邻接点 FirstAdjVex(G,v)
  (6)返回下一个邻接点 NextAdjVex(G,v,w)
  (7)插入一个顶点 InsertVex(G,v)
  (8)删除一个顶点 DeleteVex(G,v)
  (9)插入一条边 InsertEdge(G,v,w)
  (10)删除一条边 DeleteEdge(G,v,w)

  (11)遍历图 Traverse(G,v)

我们来创建一个工程

VC++2012编程演示数据结构《29》图

类的声名如下


代码下载

http://download.csdn.net/detail/yincheng01/4789890


热点排行