第七章 图

合集下载

第七章_图论

第七章_图论

非连通图的边连通度为 0

平凡图G, (G)=0



第七章 图论
与称为G的相对于完全图的补图,简称为G的补图,记作
工G` 若图G≌G,则称G为
程 自补图


第七章 图论
信 定义7-1.5

简单图G=<V,E>中,若每个结点均与其余结点相连,则称G为完全图。
有n个结点的完全图称为n阶完全图,记作Kn(n≥1) 。



如:

。。






。。

K3 考虑: Kn的边数为???
信 7-2 路与回路
息 定义7-2.1 设图G=<V,E>,G中结点与边的交替序列

=vi0ej1vi1ej2 … ejkvik
学 称点v,i0r为=0v,i1k ,到…的路,.k其中. :vviri-01,,vviikr分为别ej是r的的端始点和
与 终点. 中边的条数称为它的长度。
工 若vi0=vik ,则称该路为回路。 程 若中所有边各异,则称 为迹。
K6

定理7-1.4 Kn的边数为Cn2=n(n-1)/2。
第七章 图论
信 定义7-1.7
息 设G=<V,E>, G`=<V`,E`>为两个图(同时为无向图或有向图),若V` V且 E` E,则称G`为G的子图, G为G`的母图,记作G`G。
科 若V` V或E` E,则称G`为G的真子图。
d
d
d

e1
科 a e6
e4
c
e4
ca

第七章 图论

第七章  图论

12
7.1 图及相关概念
7.1.5 子图
Graphs
图论
定义7-1.8 给定图G1=<V1,E1>和G2=<V2,E2> , (1)若V1V2 ,E1E2 ,则称G1为G2的子图。 (2)若V1=V2 ,E1E2 ,则称G1为G2的生成子图。
上图中G1和G2都是G的子图,
但只有G2是G的生成子图。
chapter7
18
7.1 图及相关概念
7.1.6 图的同构
Graphs
图论
【例4】 设G1,G2,G3,G4均是4阶3条边的无向简单图,则
它们之间至少有几个是同构的? 解:由下图可知,4阶3条边非同构的无向简单图共有3个, 因此G1,G2,G3,G4中至少有2个是同构的。
4/16/2014 5:10 PM
4/16/2014 5:10 PM chapter7 10
7.1 图及相关概念
7.1.3 完全图
Graphs
图论
【例2】证明在 n(n≥2 )个人的团体中,总有两个人在 此团体中恰好有相同个数的朋友。 分析 :以结点代表人,二人若是朋友,则在结点间连上一 证明:用反证法。 条边,这样可得无向简单图G,每个人的朋友数即该结点 设 G 中各顶点的度数均不相同,则度数列为 0 , 1 , 2 , …, 的度数,于是问题转化为: n 阶无向简单图 G中必有两个 n-1 ,说明图中有孤立顶点,与有 n-1 度顶点相矛盾(因 顶点的度数相同。 为是简单图),所以必有两个顶点的度数相同。
vV1
deg(v) deg(v) deg(v) 2 | E |
vV2 vV
由于 deg( v) 是偶数之和,必为偶数,
vV1

半导体物理 第七章 电荷转移器件 图文

半导体物理 第七章 电荷转移器件 图文
(图7-2b)。存储的电荷寻求更低的电势,因而当势阱移动时它们沿着 表面移动。 3. 注意在这种结构中需要3个电极,以便于电荷存储,并且使转移只沿着一 个方向。这三个电极看成是器件的一个级或单元,称为三相CCD。
国家级精品课程——半导体器件物理与实验
第七章 电荷转移器件
§7.1 电荷转移
❖ 小结:
体表面形成由电离受主构成的负的空间电荷区。空间电荷区为耗
尽层。由于不是处于热平衡状态,耗尽层不受热平衡时的最大厚
度的限制,而直接由栅压VG的大小来决定。这时表面势也不受形 成强反型层时ψs=2φf的限制,也直接由VG 的大小来决定。在深 耗尽状态,耗尽层厚度Xd>Xdm,表面势ψs>2φf ,所以称之为深 耗尽状态。
CTD的核心是MOS电容的有序阵列(arrays)加上输 入与输出部分。在栅电极加上时钟脉冲电压时,在 半导体表面就形成了能存储少数载流子的势阱。用 光或电注入的方法把代表信号的少数载流子注入势 阱中。通过时钟脉冲的有规律变化,使势阱的深度 发生相应的变化,从而使注入势阱中的少数载流子 在半导体表面内作定向运动,再通过对少数载流子 的收集和再生得到信号的输出。
国家级精品课程——半导体器件物理与实验
第七章 电荷转移器件
§7.1 电荷转移
二、电荷耦合器件——CCD
图7-2 三相CCD动作, p+扩散用来限制沟道 1. 若在图7-2a中,电极2偏置在10V,比它附近两个电极的偏置电压(5V)高,
这样就建立了用虚线描绘的势阱,电荷存储在这个电极下边。 2. 现在让电极3偏置在15V,在电极3下边于是就建立起一个更深的势阱
第七章 电荷转移器件
Charge-Transfer Devices—CTD

第七章 神经组织思维导图

第七章 神经组织思维导图

第七章 神经组织总论组成神经细胞(神经元)神经胶质细胞功能神经元接受刺激、整合信息、传导冲动把接受的信息加以分析或贮存传递信息给各种肌细胞、腺细胞等效应细胞,以产生效应意识、记忆、思维和行为调节的基础神经胶质细胞支持、保护、营养和绝缘等参与神经递质和活性物质的代谢神经元神经元的结构胞体形态圆形,锥形,梭形和星形等分布位于灰质、皮质和神经节内功能神经元的营养和代谢中心光镜电镜结构细胞核位于胞体中央,大而圆核被膜明显着色浅,核仁大而圆细胞质特征性结构尼氏体神经原纤维两者不可在同一切片看到尼氏体强嗜碱性,HE染色紫蓝色均匀分布粗块状或小颗粒状有发达的粗面内质网和游离核糖体合成更新细胞器所需的结构蛋白、神经递质所需的酶类及肽类神经调质但是,不合成神经递质神经原纤维(嗜银纤维)HE染色切片无法分辨镀银染色呈棕黑色细丝,交错排列成网构成神经丝由神经丝蛋白构成的中间丝微管微管相关蛋白2构成神经元的细胞骨架,微管参与物质运输有脂褐素一种溶酶体的残余体细胞膜可兴奋膜双层脂质结构接受刺激、处理信息、产生并传导神经冲动树突每个神经元有一至多个树突内部结构同胞体有尼氏体和神经原纤维功能极大地扩展了神经元接受刺激的表面积轴突每个神经元有一条轴突无尼氏体,有神经原纤维、神经丝、微管、微丝比树突细无粗面内质网和游离核糖体神经丝、微管和微丝之间均有横桥连接, 构成轴质中的网架轴突运输(轴突内的物质运输)慢速轴突运输运输新形成的神经丝、微丝和微管快速顺向轴突运输快速逆向轴突运输神经元的分类按神经元的突起数量多极神经元双极神经元假单极神经元呈T形分为两支,周围突(分布到周围器官,接受刺激,具有树突的功能)和中枢突(进入中枢神经系统,传出冲动,为轴突)按神经元轴突的长短高尔基Ⅰ型神经元长轴突高尔基Ⅱ型神经元短轴突按神经元的功能感觉神经元(传入)多为假单极神经元运动神经元(传出)一般为多极神经元中间神经元主要为多极神经元学习、记忆和思维的基础按神经递质和调质的化学性质胆碱能神经元去甲肾上腺素能神经元胺能神经元氨基酸能神经元肽能神经元一氧化氮(NO)和一氧化碳(CO)也是一种神经递质突触概念神经元与神经元之间,或神经元与效应细胞之间传递信息的结构细胞连接方式轴-体突触轴-树突触轴-棘突触分类化学突触(人体主要)以神经递质作为传递信息的媒介HE染色不可分辨电突触缝隙连接,以电流作为信息载体存在于中枢神经系统和视网膜内的同类神经元之间化学性突触的结构 (电镜)突触前成分在镀银染色的切片呈棕黑色的圆形颗粒,称突触小体有线粒体、微丝和微管,无神经丝有突触小泡含神经递质或调质表面附有一种蛋白质,称突触素,将小泡连接干细胞骨架突触前膜较厚突触间隙15~30nm突触后成分突触后膜含有特异性的神经递质和调质的受体及离子通道突触的兴奋或抑制,取决于神经递质及其受体的种类Na+ → 兴奋Cl- → 抑制特点一个神经元可以通过突触把信息传递给许多其他神经元或效应细胞一个运动神经元可同时支配上千条骨骼肌纤维一个神经元也可以通过突触接受来自许多其他神经元的信息小脑的浦肯野细胞的树突上有数十万个突触神经胶质细胞功能支持、营养、保护和分隔神经元保证信息传递的专一性和不受干扰中枢神经系统胶质细胞HE染色中,除室管膜细胞外,都不易区分星形胶质细胞形态体积最大星形核圆或卵圆形胞质内含胶质丝(胶质原纤维酸性蛋白构成的中间丝)有些突起末端扩展形成脚板在脑和脊髓表面形成胶质界膜构成血-脑屏障的神经胶质膜功能支持和绝缘分泌神经营养因子和多种生长因子维持神经元的分化、功能,以及创伤后神 经元的可塑性变化组织损伤时,细胞增生形成胶质瘢痕少突胶质细胞分布神经元胞体附近及轴突周围形态胞体较小突起较少功能是中枢神经系统的髓鞘形成细胞(与施万细胞一起作用)小胶质细胞形态体积最小核小、染色深源于血液的单核细胞从两端发起突起功能中枢神经系统损伤时转变为巨噬细胞,具有吞噬作用室管膜细胞分布衬在脑室和脊髓中央管的腔面形态呈立方或柱状单层上皮游离面有微绒毛,少数细胞有纤毛功能参与产生脉络丛的脑脊液周围神经系统胶质细胞施万细胞参与周围神经系统中神经纤维的构成参与有髓神经纤维髓鞘形成分泌神经营养因子,促进受损的神经元存活及其轴突的再生卫星细胞有突起一层扁平或立方形细胞支持、保护、营养作用神经纤维和神经神经纤维构成神经元的长轴突神经胶质细胞根据神经胶质细胞是否形成髓鞘有髓神经纤维无髓神经纤维神经神经末梢。

第七章吸附与离子交换_图文

第七章吸附与离子交换_图文

活性炭对物质的吸附规律
活性炭是非极性吸附剂,因此在水中吸附能力大于有 机溶剂中的吸附能力。 针对不同的物质,活性炭的吸附遵循以下规律: ①对极性基团多的化合物的吸附力大于极性基团少的化合
物; ②对芳香族化合物的吸附能力大于脂肪族化合物; ③对相对分子量大的化合物的吸附力大于相对分子量小的
化合物; ④pH 值的影响 ;
7-3
7.2吸附过程的理论基础
7.2.1吸附原理
固体的分类:多孔和非多孔性 比表面的组成:多孔性固体的比表面是由“外表
面”和“内表面”所组成。表面积大并 且有较高的吸附势。 表面力的产生和吸附力的关系:见图7-4 界面分子的力场是不饱和的,能从外界吸附分 子、原子、或离子,形成多分子层或单分子层。 吸附过程中的几个名词: ⑴吸附作用 ⑵吸附剂 ⑶吸附物(质)
7.1概述
7.1.1什么叫吸附
吸附是利用吸附剂对液体或气体中某一组分具有选择性吸 附的能力,使其富集在吸附剂表面的过程。
吸附过程通常包括: 待分离料液与吸附剂混合、吸附质被吸附到吸附剂表
面、料液流出、吸附质解吸回收等四个过程。
料液与吸 附剂混合
Step1
吸附质 被吸附
Step2
料液 流出
Step3
001×7-交联度为7%的苯乙烯 系凝胶型强酸性阳离子交换树脂
骨架代号 D315:大孔型丙烯酸弱碱
分类代号
性阴离子交换树脂
大孔型代号
大孔型
代号 0 1 2 3 4 5 6
离子交换树脂命名法代号表
分类名称
骨架名称
强酸性
苯乙烯系
弱酸性
丙烯酸系
强碱性
酚醛系
弱碱性
环氧系
螯合性
乙烯吡啶系

uml建模第七章 交互图

uml建模第七章 交互图
ref login
图7-13 ref操作符
7.1 顺序图——顺序图的深入
顺序图中使用其它的技术: 1、使用注释 2、使用约束 3、使用状态
7.1 顺序图——顺序图建模
1. 为每一个用例编写事件流,包括一个基本事件 流和若干可选事件流或异常流; 2. 识别事件流中参与交互的对象; 3. 为每个事件流绘制顺序图,包括为每个对象设 置生命线,即确定哪些对象存在于整个交互过 程中,哪些对象在交互过程中被创建和撤销; 4. 从引发这个交互过程的初始消息开始,在生命 线之间自顶向下依次画出随后的各个消息; 5. 如果需要,可以画上交互片段、交互引用和约 束等。
7.2 通信图
三、组成元素 1、对象
(2)主动对象(活动对象) 一组属性和一组方法的封装体,其中至少有一 个方法不需要接收消息就能主动执行(称作主 动方法)。
UML中
Rose中
7.2 通信图
三、组成元素 2、链


用来连接对象,消息显示在链的旁边,一个链 上可以有多个消息。 在顺序图中不使用链,只有协作图中才使用链 的概念。
图7-5 嵌套编号
Rose中的消息
7.1 顺序图——顺序图的深入
顺序图中,对象的行为有循环和分支两
种方式,为了表示这两种行为,引入了 交互片段、区域和操作符的概念。
7.1 顺序图——顺序图的深入
每个交互片段都有一个操作符,操作符
决定了交互片段的执行方式。
1、表示分支的操作符

alt:支持多条件
表7-2常用迭代表达式
迭代表达式 [i:=1..n] [I=1..10] [while(表达式)] [until(表达式)]
语义 迭代n次
I迭代10次 表达式为true时才进行迭代 迭代到表达识为true时,才停止迭代 在对象集合上迭代

图

第七章图一、选择题1、对于具有n个顶点的图,若采用邻接矩阵表示,则该矩阵的大小为()。

A. nB. n2C. n-1D. (n-1)22、如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是()。

A. 完全图B. 连通图C. 有回路D. 一棵树解析:在无向图中,如果从顶点v到顶点v1存在路径,则称v和v1是连通的。

完全图:若一个图的每一对不同顶点都恰有一条边相连。

3、关键路径是事件结点网络中()。

A. 从源点到汇点的最长路径B. 从源点到汇点的最短路径C. 最长的回路D. 最短的回路4、下面()可以判断出一个有向图中是否有环(回路)。

A. 广度优先遍历B. 拓扑排序C. 求最短路径D. 求关键路径5、带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中()。

A. 第i行非无穷的元素之和B. 第i列非无穷的元素个数之和C. 第i行非无穷且非0的元素个数D. 第i行与第i列非无穷且非0的元素之和6、采用邻接表存储的图,其深度优先遍历类似于二叉树的()。

A. 中序遍历B. 先序遍历C. 后序遍历D. 按层次遍历7、无向图的邻接矩阵是一个()。

A. 对称矩阵B. 零矩阵C. 上三角矩阵D. 对角矩阵8、当利用大小为N的数组存储循环队列时,该队列的最大长度是()。

A. N-2B. N-1C. ND. N+1当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为?解析:n+1 因为队列的头指针指向的是第一个元素的前一个结点,而不是指向第一个元素,因此队列的头指针要占用一个结点长度,所以队列的长度就是n+1;9、邻接表是图的一种()。

A. 顺序存储结构B.链式存储结构C. 索引存储结构D. 散列存储结构10、下面有向图所示的拓扑排序的结果序列是()。

A. 125634B. 516234C. 123456D. 52164313256411、在无向图中定义顶点vi与vj之间的路径为从vi到vj的一个()。

第七章 序列图

第七章 序列图

序列图的基本概念
2. 序列图在项目开发里的作用
序列图作为一种描述在给定语境中消息是如何在对象间传递的图 形化方式,在使用其进行建模时,主要可以将其用途分为以下三 个方面: (1)确认和丰富一个使用语境的逻辑表达。一个系统的使用情境就 是系统潜在的使用方式的描述,也就是它的名称所要描述的。一 个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。 (2)细化用例的表达。我们前面已经提到,序列图的主要用途之一, 就是把用例表达的需求,转化为进一步、更加正式层次的精细表 达。用例常常被细化为一个或者更多的序列图。 (3)有效地描述如何分配各个类的职责以及各类具有相应职责的原 因。我们可以根据对象之间的交互关系来定义类的职责,各个类 之间的交互关系构成一个特定的用例。例如,“Customer对象向 Address对象请求其街道名称”指出Customer对象应该具有“知 道其街道名”这个职责。
序列图中的项目相关概念
2. 分支与从属流
在UML中,存在两种方式可以来修改序列图中消息的 控制流,分别是:分支和从属流。 分支是指的是从同一点发出多个消息的并指向不同的 对象,根据条件是否互斥,可以有条件和并行两种结 构。由于序列图只表示某一个活动按照时间顺序的经 历过程,所以在Rational Rose 2003中,对序列图的分 支画法没有明显的支持。 从属流指的是从同一点发出多个消息指向同一个对象 的不同生命线。从属流在Rational Rose 2003中不支持, 因为添加从属流以后会明显增加序列图的复杂度。
确定序列对象确定序列对象建模序列图的下一步是从左到右布置在该工作流程中所有的参与者和对象同时也包含要添加消息的对象所有的参与者和对象同时也包含要添加消息的对象??建模序列图的下一步是从左到右布置在该工作流程中生命线

《数据结构》第 7 章 图

《数据结构》第 7 章 图

v3
v4 v5 v4
v3
v5 v4
v3
v5 v4
v3
v5 v4
v3
v5

一个图可以有许多棵不同的生成树。 所有生成树具有以下共同特点: 生成树的顶点个数与图的顶点个数相同; 生成树是图的极小连通子图; 一个有 n 个顶点的连通图的生成树有 n-1 条边; 生成树中任意两个顶点间的路径是唯一的; 在生成树中再加一条边必然形成回路。 含 n 个顶点 n-1 条边的图不一定是生成树。
A1 = {< v1, v2>, < v1, v3>, < v3, v4>, < v4, v1>} v1 v2
有向图
v3
v4
制作:计算机科学与技术学院 徐振中
数据结构 边:若 <v, w>∈VR 必有<w, v>∈VR,则以 无序对 (v, w) 代表这两个有序对,表示 v 和 w 之 间的一条边,此时的图称为无向图。 G2 = (V2, E2) V2 = {v1, v2, v3, v4, v5}
第七章 图
E2 = {(v1, v2), (v1, v4), (v2, v3), (v2, v5) , (v3, v4), (v3, v5)} v1
G2
v3
v2
无向图
v4
v5
制作:计算机科学与技术学院 徐振中
数据结构
第七章 图
例:两个城市 A 和 B ,如果 A 和 B 之间的连线的涵义是 表示两个城市的距离,则<A, B> 和 <B, A> 是相同的, 用 (A, B) 表示。 如果 A 和 B 之间的连线的涵义是表示两城市之 间人口流动的情况,则 <A, B> 和 <B, A> 是不同的。 北京 <北京,上海> (北京,上海) <上海,北京> <北京,上海> 北京 上海 上海

第7章图习题及参考答案

第7章图习题及参考答案

第7章-图习题及参考答案第7章习题一、单项选择题1.在无向图中定义顶点的度为与它相关联的()的数目。

A. 顶点B. 边C. 权D. 权值2.在无向图中定义顶点v i与v j之间的路径为从v i到达v j的一个()。

A. 顶点序列B. 边序列C. 权值总和D.边的条数3.图的简单路径是指()不重复的路径。

A. 权值B. 顶点C. 边D. 边与顶点均4.设无向图的顶点个数为n,则该图最多有()条边。

A. n-1B. n(n-1)/2C. n(n+1)/2D.n(n-1)5.n个顶点的连通图至少有()条边。

A. n-1B. nC. n+1D. 06.在一个无向图中,所有顶点的度数之和等于所有边数的( ) 倍。

A. 3B. 2C. 1D. 1/27.若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( )。

A. 上三角矩阵B. 稀疏矩阵C. 对角矩阵D. 对称矩阵8.图的深度优先搜索类似于树的()次序遍历。

A. 先根B. 中根C. 后根D. 层次9.图的广度优先搜索类似于树的()次序遍历。

A. 先根B. 中根C. 后根D. 层次10.在用Kruskal算法求解带权连通图的最小(代价)生成树时,选择权值最小的边的原则是该边不能在图中构成()。

A. 重边B. 有向环C. 回路D. 权值重复的边11.在用Dijkstra算法求解带权有向图的最短路径问题时,要求图中每条边所带的权值必须是()。

A. 非零B. 非整C. 非负D. 非正12.设G1 = (V1, E1) 和G2 = (V2, E2) 为两个图,如果V1 ⊆ V2,E1 ⊆ E2,则称()。

A. G1是G2的子图B. G2是G1的子图C. G1是G2的连通分量D. G2是G1的连通分量13.有向图的一个顶点的度为该顶点的()。

A. 入度B. 出度C. 入度与出度之和D. (入度﹢出度))/214.一个连通图的生成树是包含图中所有顶点的一个()子图。

第7章 协作图

第7章 协作图

使用Rose创建协作图
3. 创建链


在协作图中创建链的操作与在对象图中创建链的操作相同,可以 按照在对象图中创建链的方式进行创建。同样我们也可以在链的 规范对话框的“General”选项卡中设置链的名称、关联、角色 以及可见性等。 链的可见性是指一个对象是否能够对另一个对象可见的机制。
在项目中创建协作图案例分析

什么是协作图
2. 为什么要使用协作图

协作图作为一种在给定语境中描述协作中各个对象之间的组织交互关系 的空间组织结构图形化方式,在使用其进行建模时,可以将其作用分为 以下三个方面:

通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达。一个 使用情境的逻辑可能是一个用例的一部分,或是一条控制流。这和序列图的 作用类似。
时序图与协作图的互换




时序图与协作图都表示对象之间的交互 作用,只是它们的侧重点有所不同: 时序图描述了交互过程中的时间顺序, 但没有明确地表达对象之间的关系。 协作图描述了对象之间的关系,但时间 顺序必须从顺序号获得。 两种图的语义是等价的,可以从一种形 式的图转换成另一种形式的图,而不丢 失任何信息。
组成协作图的元素
3. 链

在协作图中的链和对象图中链的概念和表示形式都相同,都是两个或多 个对象之间的独立连接,是对象引用元组(有序表),是关联的实例。

在协作图中,链的表示形式为一个或多个相连的线或弧。在自身相关联 的类中,链是两端指向同一对象的回路,是一条弧。为了说明对象是如 何与另外一个对象进行连接的,我们还可以在链的两端添加上提供者和 客户端的可见性修饰。如下图所示,是链的普通和自身关联的表示形式。
消息

数据结构第七章--图(严蔚敏版)

数据结构第七章--图(严蔚敏版)
9个顶点 个顶点
8个顶点的无向图最多有 条边且该图为连通图 个顶点的无向图最多有28条边且该图为连通图 个顶点的无向图最多有 连通无向图构成条件:边 顶点数 顶点数-1)/2 顶点数*(顶点数 连通无向图构成条件 边=顶点数 顶点数 顶点数>=1,所以该函数存在单调递增的单值反 顶点数 所以该函数存在单调递增的单值反 函数,所以边与顶点为增函数关系 所以28个条边 函数 所以边与顶点为增函数关系 所以 个条边 的连通无向图顶点数最少为8个 所以28条边的 的连通无向图顶点数最少为 个 所以 条边的 非连通无向图为9个 加入一个孤立点 加入一个孤立点) 非连通无向图为 个(加入一个孤立点
28
无向图的邻接矩阵为对称矩阵
2011-10-13
7.2
图的存储结构
Wij 若< vi,vj > 或<vj,v i > ∈E(G)
若G是网(有权图),邻接矩阵定义为 是网(有权图), ),邻接矩阵定义为
A [ i,j ] = , 0或 ∞
如图: 如图:
V1
若其它
V2
3 4
2
V3
2011-10-13
C
A
B
D 2011-10-13 (a )
3
Königsberg七桥问题
• Königsberg七桥问题就是说,能否从某点出发 通过每桥恰好一次回到原地?
C
C
A B

A D
B
D (a)
2011-10-13
(b)
4
第七章 图
7.1 图的定义 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图及其应用 7.6 最短路径
2011-10-13

第七章 图论

第七章 图论

定理7-2.5 在有向图G=<V,E>中,它的每一个结点位于且只位 于一个强分图中。
7.3
图的矩阵表示
定义7-3.1 设G=<V,E>是一个简单图,它有n个结点V={v1,v2,·· n}, ·,v 则n阶方阵A(G)=(aij)称为G的邻接矩阵。 1 vi adj vj 其中aij= 0 vi nadj vj 或i=j adj表示邻接,nadj表示不邻接。
7-4
欧拉图与汉密尔图
定义7-4.1 给定无孤立结点图G,若存在一条路,经过图中每 边一次且仅一次,该条路称为欧拉路;若存在一条回 路,经过图中每边一次且仅一次,该回路称为欧拉回 路。具有欧拉回路的图称作欧拉图。
北区
A B
东区
岛区
D
C
南区
哥尼斯堡地图
定理7-4.1 无向图G具有一条欧拉路,当且仅当G是连通的,且有零 个或两个奇数度结点。 推论:无向图G具有一条欧拉回路,当且仅当G是连通的, 并且所有结点度数全为偶数。 G1中A,B,C,D四点度数为3,故不是Euler图,也不是一笔画; G2中A,B两点是3度,其它均为偶数点,故不是Euler图,但是 起终点不同的一笔画,起终点分别是A,B; G3中点的度数均为4,且连通,故它是Euler图, Euler回路 为ABCDAHDGCFBEHGFEA。在回路中各点均出现2次(起终点 多一次),因此每点均为4度。 注:Euler回路不是唯一的。 A A B
定理7-1.3 在任何有向图中,所有结点的入度之和等于所有 结点的出度之和。 证明: 因为每一条有向边必对应一个入度和一 个出度,若一个结点具有一个入度或出度,则必 关联一条有向边,所以,有向图中各结点入度之 和等于边数,各结点出度之和也等于边数,因此, 任何有向图中,入度之和等于出度之和。

第7章图(Graph)

第7章图(Graph)
1 2
• 1.带方向的边叫有向边(directed edge),简 称为弧; • 用顶点的有序对表示,<vi ,vj>和<vj ,vi> 是不同的 . • 2. 而不带方向的边叫无向边(undirected edge),简称为边。 • 用顶点的无序对表示,(vi ,vj)和(vj ,vi)表 示同一条边。 • • <vi,vj >表示从顶点vi到vj 的一段弧 • Vi:称为边的始点或者弧尾 • Vj:称为边的终点或者弧头
• 2e= • 例:
1 1
TD(v )
i 1 i
n
2 2
• 2*1=1+1
2*2=2+2
• (5)路径与回路:路径上边的数目称为路径长度。 • 下图所示的无向图中,顶点v1到顶点v5的路径有两条,分别 为(v1,v2,v3,v5)与(v1,v4,v5),路径长度分别为3和2。
1 2 5 3
• 如果路径的起点和终点相同 (即vp=vq),则称此路径为回路 4 或环。序列中顶点不重复出现的路径称为简单路径, 图 7.3 图的路径 • 上图所示的v1到v5的两条路径都为简单路径。除第一顶点与 最后一个顶点之外,其它顶点不重复现的回路为简单回路 或者简单环。
第7章 图(Graph)
图是一种比树更为复杂的非线性数据结构。 1.线性表: 数据元素之间仅有线性关系. (每个elem只有一个直接前驱和一个直接后继) 2.树形结构:elem之间有明显的层次关系. (每一层上的数据元素可能和下一层中多个元素相关,但 只能和上一层中一个元素(双亲)相关) 3.图形结构:结点之间的关系可以是任意的. (图中任意两个数据元素之间都可能相关联 ) 图的应用十分广泛。最典型的应用领域有电路分析、 寻找最短路线、项目规划、鉴别化合物、统计力学、遗 传学、控制论、语言学,乃至社会科学。实际上,在所 有的数据结构中,图的应用是最广泛的。

七章图ppt课件

七章图ppt课件
简朴回路
若回路上各顶点 v1,v2,...,vm 均不 相互反复, 则称这么旳回路为简朴回路。
0
0
0
1
2
3
1
2
3
1
2
3
连通图与连通分量
在无向图中, 若从顶点v1到顶点v2有途径, 则 称顶点v1与v2是连通旳。假如图中任意一对 顶点都是连通旳, 则称此图是连通图。
非连通图旳极大连通子图叫做连通分量。
记作 ID(v); 顶点 v 旳出度是以 v 为始点(弧尾)旳有向边旳条数,
记作 OD(v)。
A
B
E
CF
顶点旳度(TD)=出度(OD)+入度(ID) TD(B) =OD(B)+ID(B) =1+2 =3
途径
在图 G=(V, E) 中, 若从顶点 vi 出发, 沿某些边 经过某些顶点 vp1, vp2, …, vpm,到达顶点vj。 则称顶点序列 (vi vp1 vp2 ... vpm vj) 为从顶 点vi 到顶点 vj 旳途径。
//边结点 //目旳顶点下标
//边上旳权值
//下一边链接指针
typedef struct { VertexData data; EdgeNode * firstAdj;
} VertexNode;
//顶点结点 //顶点数据域 //边链表头指针
typedef struct { //图旳邻接表
VertexNode VexList [NumVertices]; //邻接 表
G.VexList[i].firstAdj = NULL;
}
for ( i = 0; i < G.e; i++) {
//逐条边输入
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

由于“弧”是有方向的,因此称由顶点集和弧 集构成的图为有向图
V1 V3 V4
无向图G1
V2 G1=(V,E) V={v1,v2,v3,v4,v5}; E={(v1,v2),(v1,v4),(v2,v3),(v3,v4), (v3,v5),(v2,v5)}。
V5
(vi,vj)表示顶点vi和顶点vj之间有一条无向直接连线,也称为边。
A
弧的数目;
E
B
顶点的入度: 以顶点v为弧头的弧 的数目。
例如: OD(B) = 1
C
F
顶点的
度(TD)=
出度(OD)+入度(ID)
ID(B) = 2
TD(B) = 3
设图G=(V,{VR})中的一个顶点序列{ u=vi,0,vi,1, …, vi,m=w}中,
(vi,j-1,vi,j)VR 1≤j≤m,则称从顶点u 到顶点w 之间存在一条 路径。路径上边的数目称作路径长度。
⑾ ⑿ ⒀
LocateVex(G,u)在图G中找到顶点u,返回该顶点在图中位置。 FirstAdjVex(G,v)在图G中,返回v的第一个邻接点。若顶点在G中 没有邻接顶点,则返回“空”。 NextAdjVex(G,v,w)在图G中,返回v的(相对于w的) 下一个邻 接顶点。若w是v的最后一个邻接点,则返回“空”。
弧的结点结构 顶点的结点结构adjvex nextarc info
data firstarc
1.无向图的邻接表
B
C
D
0 1 2 3 4 5
A B C D E F
1 0 3 2 0 1
4 4 5 5 1 2
A
5
F E
3
2.有向图的邻接表 0 1
A
B C F E
A
1
4
B
C D
2
3 0 1
2
三、基本操作
⑴ CreatGraph(G) 输入图G的顶点和边,建立图G的存储。 ⑵ DestroyGraph(G) 释放图G占用的存储空间。 ⑶ GetVex(G,v) 在图G中找到顶点v,并返回顶点v的相关信息。 ⑷ PutVex(G,v,value)在图G中找到顶点v,并将value值赋给顶点v。
15
A
21 2
9 11
弧或边带权的图分别称
B
3
7
E
作有向网或无向网。
C
F
B
设图G=(V,{VR}) 和图 G=(V,{VR}), 且 VV, VRVR, 则称 G 为 G 的子图。
A
B E
C
A
假设图中有 n 个顶点,e 条边,则
含有 e=n(n-1)/2 条边的无向图称作完全图;
含有 e=n(n-1) 条弧的有向图称作 有向完全图;
由顶点集和边集构成的图称作无向图。
V1
V2
G2=(V,E) V={v1,v2,v3,v4} E={<v1,v2>,<v1,v3>,<v3,v4>,<v4,v1>}
<vi,vj>表示顶点vi和顶点vj之间有一条有 向直接连线,也称为弧。其中vi称为弧尾, vj称为弧头。
V3
有向图G2
V4
二、名词和术语
简单路径:序列中顶点不重复出 现的路径。
E
A
B
简单回路:序列中第一个顶点和 最后一个顶点相同的路径。
C
F
如:长度为3的路径{A,B,C,F}
若图G中任意两个顶点之间都有 路径相通,则称此图为连通图; A
B
C
D
B
C
F
E
A
D
若无向图为非连通图,则图中 各个极大连通子图称作此图的 连通分量。
F
E
对有向图,
data firstarc
// 顶点信息 // 指向第一条依附该顶点的弧
} VNode, AdjList[MAX_VERTEX_NUM];
图的结构定义
typedef struct { AdjList vertices; int int vexnum, arcnum; kind; // 图的种类标志
} ALGraph;
有向图的十字链表存储表示图示
弧尾顶点位置 弧头顶点位置
指向下一个有相 同弧尾的结点
弧的相关信息
指向下一个有相 同弧头的结点
typedef struct ArcBox { // 弧的结构表示
int tailvex, headvex; InfoType *info;
struct ArcBox *hlink, *tlink; } VexNode;
4 2
1
1
2
0 A.e dge 3
1 0 5
9 0 6
4 2 8 0
无向图数组表示法特点: 1)无向图邻接矩阵是对称矩阵,同一条边表示了两次; 2)顶点v的度:在无向图中等于二维数组对应行(或列)中1 的个数;在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度, 统计第 j 列 1 的个数可得顶点 j 的入度。 3)判断两顶点v、u是否为邻接点:只需判二维数组对应分量 是否为1; 4)顶点不变,在图中增加、删除边:只需对二维数组对应分 量赋值1或清0; 5)设存储顶点的一维数组大小为n(图的顶点数n), G占用存储 空间:n+n2;G占用存储空间只与它的顶点数有关,与边数无 关;适用于边稠密的图;
A D
F
E
无向图的邻接矩阵为对称矩阵
0 1 0 0 1 0
1 0 0 0 1 1
0 0 0 1 0 1
0 0 1 0 0 1
1 1 0 0 0 0
0 0 1 1 0 0
F E DCB A
A
B
C F
E
A B C
E
F
有向图的邻接矩阵为非对称矩阵
0 0 0 1 0
1 0 0 1 0
0 1 0 0 1
0 0 1 0 0
3
4
E
2
在有向图的邻接表中不易找到指向该顶点的弧。
3.有向图的逆邻接表
0 A 1 B
3 3 4 2 0 0
2 C
3 D
A B C D E
4 E
在有向图的邻接表中,对每个顶点, 链接的是指向该顶点的弧。
typedef struct ArcNode { int adjvex;
// 该弧所指向的顶点的位置
重点
图的各种存储结构,遍历图的递归和非递归算法,应用图的遍历算法求 各种简单路径问题。
应用图的遍历算法求各种简单路径问题。
难点
7.1
图的定义与基本操作
图(Graph)是一种比树形结构更复杂的非线性结构。在图 形结构中,每个结点都可以有多个直接前驱和多个直接后继。
一、图的结构定义:
图(Graph)是由非空的顶点(Vertices)集合和一个描 述顶点之间关系——边(Edges)的有限集合组成的一种数据结 构。可以用二元组定义为: G=(V,E) 其中,G表示一个图,V是图G中顶点的集合,E是图G中边的 集合。
typedef struct VexNode { // 顶点的结构表示 VertexType data; ArcBox *firstin, *firstout;
⑸ InsertVex(G,v)在图G中增添新顶点v。
⑹ DeleteVex(G,v)在图G中,删除顶点v以及所有和顶点v相关联的边或弧。 ⑺ InsertArc(G,v,w)在图G中增添一条从顶点v到顶点w的边或弧。
⑻ DeleteArc(G,v,w)在图G中删除一条从顶点v到顶点w的边或弧。

若任意两个顶点之间都存在一条有向路径,
则称此有向图为强连通图。 否则,其各个强连通子图称作它的强连通分量。
A B E
A B C F E
C
F
假设一个连通图有 n 个顶点和 e 条边,其中 n-1 条边和 n 个顶点构成一个极小连通子图,称该极小连通子图为此连通图 的生成树。
B A F
C D E
对非连通图,则称由各个连 通分量的生成树的集合为此 非连通图的生成森林。
7.2.2 图的邻接表存储表示
邻接表(Adjacency List)是图的一种顺序存储与链式存储结合的存 储方法。邻接表表示法类似于树的孩子链表表示法。就是对于图G中的 每个顶点vi,该方法将所有邻接于vi的顶点vj链成一个单链表,这个单 链表就称为顶点vi的邻接表。再将所有点的邻接表表头放到数组中,就 构成了图的邻接表。
若边或弧的个数 e<nlogn,则称作稀疏图,否则称作稠密图。
假若顶点v 和顶点w 之间存在一条边,则称顶点v 和w 互为
邻接点,
边(v,w) 和顶点v 和w 相关联。 和顶点v 关联的边的数目定义为边的度。
例如:
ID(B) = 3 A ID(A) = 2 D B C
F
E
对有向图来说:
顶点的出度: 以顶点v为弧尾的
7.2.3 有向图的十字链表存储表示
十字链表(Orthogonal List)是有向图的一种存储方法,它 实际上是邻接表与逆邻接表的结合,即把每一条边的边结点分别组织 到以弧尾顶点为 头结点的链表和以弧头顶点为头顶点的链表中。
在弧结点中有五个域:其中尾域(tailvex)和头(headvex)分别指示 弧尾和弧头这两个顶点在图中的位置,链域hlink指向弧头相同的下一 条弧,链域tlink指向弧尾相同的下一条弧,info域指向该弧的相关信 息。弧头相同的弧在同一链表上,弧尾相同的弧也在同一链表上。它 们的头结点即为顶点结点,它由三个域组成:其中vertex域存储和顶 点相关的信息;firstin和firstout为两个链域,分别指向以该顶点为弧 头或弧尾的第一个弧结点。
相关文档
最新文档