- 1、本文档共132页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八篇 章 图 清华大学-数据结构 课件 ppt.ppt
图的基本概念
图的存储表示
图的遍历与连通性
最小生成树
最短路径
活动网络 ;图的基本概念; ;权 某些图的边具有与它相关的数, 称之为权。这种带权图叫做网络。
子图 设有两个图 G=(V, E) 和 G‘=(V’, E‘)。若 V’? V 且 E‘?E, 则称 图G’ 是 图G 的子图。
顶点的度 一个顶点v的度是与它相关联的边的条数。记作TD(v)。在有向图中, 顶点的度等于该顶点的入度与出度之和。;顶点 v 的入度是以 v 为终点的有向边的条数, 记作 ID(v); 顶点 v 的出度是以 v 为始点的有向边的条数, 记作 OD(v)。
路径 在图 G=(V, E) 中, 若从顶点 vi 出发, 沿一些边经过一些顶点 vp1, vp2, …, vpm,到达顶点vj。则称顶点序列 ( vi vp1 vp2 ... vpm vj ) 为从顶点vi 到顶点 vj 的路径。它经过的边(vi, vp1)、(vp1, vp2)、...、(vpm, vj)应是属于E的边。
路径长度
非带权图的路径长度是指此路径上边的条数。
带权图的路径长度是指路径上各边的权之和。;图的抽象数据类型
class Graph {
public:
Graph ( );
void InsertVertex ( const Type vertex );
void InsertEdge
( const int v1, const int v2, int weight );
void RemoveVertex ( const int v );
void RemoveEdge ( const int v1, const int v2 );
int IsEmpty ( );
Type GetWeight ( const int v1, const int v2 );
int GetFirstNeighbor ( const int v );
int GetNextNeighbor ( const int v1, const int v2 );
};图的存储表示;在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 行 1 的个数可得顶点 j 的入度。
在无向图中, 统计第 i 行 (列) 1 的个数可得顶点i 的度。;网络的邻接矩阵;用邻接矩阵表示的图的类的定义
const int MaxEdges = 50;
const int MaxVertices = 10;
template class NameType, class DistType
class Graph {
private:
SeqListNameType VerticesList (MaxVertices);
DistType Edge[MaxVertices][MaxVertices];
int CurrentEdges;
int FindVertex ( SeqListNameType L;
const NameType vertex )
{ return L.Find (vertex); }; int GetVertexPos ( Const NameType vertex )
{ return FindVertex (VerticesList, vertex ); }
public:
Graph ( const int sz=MaxNumEdges );
int GraphEmpty ( )
const { return VerticesList.IsEmpty ( ); }
int GraphFull( )
const { return VerticesList.IsFull( ) ||
CurrentEdges ==MaxEdges; }
int NumberOfVertices ( )
{ return VerticesList.last; }
int NumberOfEdges ( ) { return CurrentEdges; }; NameType GetValue ( const int i )
{ return i = 0 i VerticesList.last
? VerticesList.data[i] : NUL
您可能关注的文档
最近下载
- 道路机场与桥隧工程模拟题与参考答案.docx VIP
- 道路机场与桥隧工程测试题(含答案).docx VIP
- 道路机场与桥隧工程考试模拟题.docx VIP
- 四库全书基本概念系列文库:江宁县志.pdf VIP
- 食堂食品质量管理方案.docx VIP
- 《普通国省道智慧服务区建设指南》.docx VIP
- 无人机煤矿测量理论考试题库大全-上(单选题).pdf VIP
- 2025内蒙古鄂尔多斯市公安机关招聘留置看护警务辅助人员115人笔试参考题库附答案解析.docx VIP
- 2025年地铁轨道交通知识考试题库及答案.pdf VIP
- Q/GDW_12218-2022_低压交流配网不停电作业技术导则_.pdf VIP
文档评论(0)