1图的基本概念和存储结构

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BFSTraverse(G, v); //从顶点v起广度优先遍历图G。
名词和术语
1)子图、网
A
设图G=(V,{E}) 和图 B
E
G=(V,E), 且 VV, EE,
CD
则称 G 为 G 的子图。 B
A
B
E
CD
名词和术语
1)子图、网 弧或边带权的图分别称作有向网或无向网。
15 A 9
11
B 7 21
E
3
C2 D
名词和术语
2)完全图、稀疏图、稠密图 假设图中有 n 个顶点,e 条边,则 含有 e=n(n-1)/2 条边的无向图称作完全图; 含有 e=n(n-1) 条弧的有向图称作有向完全图; 若边或弧的个数 e<nlogn,则称作稀疏图,否则 称作稠密图。
图和图的存储结构
图的定义和术语 图的存储表示 课堂练习 用java语言描述图的存储结构 小结
图和图的存储结构
1. 图的定义 2. 图的名词和术语 3. 图的基本操作
图的定义
图(graph)是由一个顶点(vertex)集 V 和一 个边(edge|弧arc)集 E构成的数据结构。
每条边(edge)是一副点对(v,w),其中v,w ∈ V。 表示从 v 到 w 的一条边(弧),称 v 为弧尾(tail), w 为弧头(head)。
A
E2={(A, B), (A, E),(B, E),
(B, F), (C, D), (C, F) (D, F} F
C D
E
弧除了有向和无向的含义之外,有时候还具有 第三种成分,称为权(weight)或值(cost)。
名词和术语
1)子图、网 2)完全图、稀疏图、稠密图 3)邻接点、度、入度、出度 4)路径、路径长度、简单路径、简单回路 5)连通图、强连通图、弱连通图
Graph = (V, E ) E={(v,w>| v,w∈V)}
图的定义—有向图
如果“弧”是有方向的,则称由顶点集和弧
集构成的图为有向图(digraph)。
例如: G1 = (V1, E1)
V1={A, B, C, D, E}
E1={<A,B>, <A,E>, <B,C>, <C,D>, <D,B>,
E D
名词和术语
5)连通图、强连通图、弱连通图
连通图:若无向图G中任 意两个顶点之间都有路径 相通,则称此图为连通图;
B A
F
C D
E
名词和术语
5)连通图、强连通图、弱连通图
强连通图:若有向图任意两个顶点之间都 存在一条有向路径,则称为强连通图。
A
若有向图去掉弧的方向后是连通 的,则称为弱连通图。
// 返回 v 的“第一个邻接点” 。若该顶点 //在 G 中没有邻接点,则返回“空”。
NextAdjVex(v, w);
// 返回 v 的(相对于 w 的) “下一个邻接 点”。 // 若 w 是 v 的最后一个邻接点,则返回“空”。
Байду номын сангаас
基本操作
6.遍历
DFSTraverse(G, v); //从顶点v起深度优先遍历图G。
说,由于弧有方向性,则
有入度和出度之分。
B
E
顶点的出度: 以顶点v 为弧尾 C
D
的弧的数目;记为OD(v)
名词和术语
3)邻接点、度、入度、出度
顶点的入度: 以顶点v为弧头
的弧的数目,记为ID(v)
A
顶点的度(TD)=
B
E
出度(OD)+入度(ID)
C
D
OD(A) = 2 ID(A) = 1 TD(A) = 3
基本操作
4.插入和删除弧
InsertArc(v, w); // 在G中增添弧<v,w>,若G是无向的, //则还增添对称弧<w,v>。 DeleteArc(v, w); //在G中删除弧<v,w>,若G是无向的, //则还删除对称弧<w,v>。
基本操作
5.对邻接点的操作
FirstAdjVex(v);
LocateVex(u); // 若G中存在顶点u,则返回该顶点在 // 图中“位置” ;否则返回其它信息。 GetVex(v); // 返回 v 的值。
PutVex(v, value); // 对 v 赋值value。
基本操作
3.插入或删除顶点
InsertVex(v); //在图G中增添新顶点v。 DeleteVex(v); // 删除G中顶点v及其相关的弧。
B C
E D
基本操作
1.结构的建立和销毁 2.对顶点的访问操作 3.插入或删除顶点 4.插入和删除弧 5.对邻接点的操作 6.遍历
基本操作
1.结构的建立和销毁 CreatGraph(V, E): // 按定义(V, E) 构造图 DestroyGraph(G): // 销毁图
基本操作
2.对顶点的访问操作
<D,A>, <E,C> }
A
B
E
CD
图的定义—无向图
若<v, w>E 必有<w, v>E,则以无序对(v,w) 代替这两个有序对,称 (v,w) 为顶点 v 和顶 点 w 之间存在一条边。 上述这种由顶点集和边集构成的图称作无向图。
图的定义—无向图
例如: G2=(V2,E2)
B
V2={A, B, C, D, E, F}
OD(B) = 1 ID(B) = 2 TD(B) = 3
名词和术语
3)邻接点、度、入度、出度
思考 在一个图中,所有顶点的度数之和等于所有边数的( )倍。
A.1/2
B.1
C.2
D.4
B
C
A
A
DB
E
F
E
C
D
名词和术语
4)路径、路径长度、简单路径、简单回路、圈(环)
路径:设图G=(V,{E})中的一个顶 点序列{u=v1,v2, …, vN=w}中, (vi,vi+1)E,0≤i<N,则称从顶点u 到顶点w 之间存在一条路径。
名词和术语
3)邻接点、度、入度、出度
邻接点:假若顶点v和顶点w之间存在一条边,
则称顶点v和w互为邻接点,
边(v,w)和顶点v和w相关联。 B
C
度:和顶点v关联的边的数 A
D
目,记为TD(v)。
TD(A) = 2 TD(B) = 3
F
E
名词和术语
3)邻接点、度、入度、出度
对于右图所示的有向图来 A
路径长度:路径上边的数目。
A
B
E
CD
如:从A到D长度为 3 的 路径{A,B,C,D}
名词和术语
4)路径、路径长度、简单路径、简单回路、圈(环)
简单路径:指序列中顶点不重复
A
出现的路径。
简单回路:指序列中第一个顶点和 B
最后一个顶点相同的路径。
C
圈(cycle):是满足v1=vN且长至少为1 的一条路径。如果该路径是简单路 径,那么这个圈就是简单圈。一个 有向无圈图简称为DAG。
相关文档
最新文档