您的位置:逆风者 数据结构 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:43 来源:未知

教学目的: 掌握图的定义及常用术语

教学重点: 图的常用术语

教学难点: 图的常用术语

授课内容:

一、图的定义

逆风者

图是一种数据元素间为多对多关系的数据结构,加上一组基本操作构成的抽象数据类型。

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>的意义或信息}

基本操作P:

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及其相关的弧

InsertAcr(&G,v,w);

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

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

DeleteArc(&G,v,w);

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

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

DFSTraverser(G,v,Visit());

初始条件:图G存在,v是G中某个顶点,Visit是顶点的应用函数

操作结果:从顶点v起深度优先遍历图G,并对每个顶点调用函数Visit一次。一旦Visit()失败,则操作失败。

BFSTRaverse(G,v,Visit());

初始条件:图G存在,v是G中某个顶点,Visit是顶点的应用函数

操作结果:从顶点v起广度优先遍历图G,并对每个顶点调用函数Visit一次。一旦Visit()失败,则操作失败。

}ADT Graph

二、图的常用术语

对上图有:G1=(V1,{A1})

其中:V1={v1,v2,v3,v4} A1={<v1,v2>,<v1,v3>,<v3,v4>,<v4,v1>}

如果用n表示图中顶点数目,用e表示边或弧的数目,则有:

对于无向图,e的取值范围是0到n(n-1)/2,有n(n-1)/2条边的无向图称为完全图。

对于有向图,e有取值范围是0到n(n-1)。具有n(n-1)条弧的有向图称为有向完全图。

有很少条边或弧的图称为稀疏图,反之称为稠密图。

v1与v2互为邻接点
e1依附于顶点v1和v2
v1和v2相关联
v1的度为3

对有向图,如果每一对顶点之间都有通路,则称该图为强连通图。

三、总结

图的特征

有向图与无向图的主要区别

相关文章

排序及查找方法
数据结构教程 第十六课 串操作应用举例
数据结构教程 第三十二课 哈希表(一)
数据结构教程 第三十一课 动态查找表
数据结构教程 第二十四课 遍历二叉树
数据结构教程 第六课 线性表的顺序表示和实
数据结构教程 第二十二课 实验五 数组实验
数据结构教程 第二十一课 树、二叉树定义及
数据结构教程 第三十八课 文件概念,顺序文
数据结构教程 第十二课 实验二 循环链表实验
数据结构教程 第十课 栈的表示与实现
数据结构--序言
线索二叉树算法
数据结构教程 第三十六课 选择排序,归并排
数据结构教程 第二十课 广义表
关于文件管理系统的数据结构模拟
链表基本操作的程序实现
用栈设置密码
数据结构教程 第三十课 静态查找表(二)有
有向图转换

相关评论


本文章所属分类:首页 数据结构

  热门关键字: