| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构和算法 图 -> 正文阅读 |
|
[数据结构与算法]数据结构和算法 图 |
在线性表中,每个元素之间只有一个直接前驱和一个直接后继,在树形结构中,数据元素之间是层次关系,并且每一层上的数据元素可能和下一层中多个元素相关,但只能和上一层中的一个元素相关。 但这仅仅都只是一对一,一对多的简单模型,如果要研究如人与人之间关系就非常复杂了。 图的定义图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 对于图的定义,我们需要明确几个注意的地方:
图的各种奇葩定义
图的顶点与边之间的关系对于无向图G=(V,E),如果边(V1,V2)属于E,则称顶点V1和V2互为邻接点(Adjacent),即V1和V2相邻接。边(V1,V2)依附(incident)于顶点V1和V2,或者说边(V1,V2)与顶点V1和V2相关联。 顶点V的度(Degree)是和V相关联的边的数目,记为TD(V),如下图,顶点A与顶点B互为邻接点,边(A,B)依附于顶点A与B上,顶点A的度为3。 对于有向图G=(V,E),如果有<V1,V2>属于E,则称顶点V1邻接到顶点V2,顶点V2邻接自顶点V1。 以顶点V为头的弧的数目称为V的入度(InDegree),记为ID(V),以V为尾的弧的数目称为V的出度(OutDegree),记为OD(V),因此顶点V的度TD(V) = ID(V)+OD(V)。 如上图顶点A的入度为2,出度为1,所以顶点A的度为3。 无向图G=(V,E)中从顶点V1到顶点V2的路径(Path)。下图用红线列举了从顶点B到顶点D的四种不同路径: 如果G是有向图,则路径也是有向的。 下图用红线列举顶点B到顶点D的两种路径,二顶点A到顶点B就不存在路径啦: 路径的长度是路径上的边或弧的数目。 第一个顶点到最后一个顶点相同的路径称为回路或环(Cycle)。 序列中顶点不重复出现的路径称为简单路径,除了第一个顶点和最后一个顶点之外,其余顶点不重复出现的回路,称为简单回路或简单环。 下图左侧是简单环,右侧不是简单环: 在无向图G中,如果从顶点V1到顶点V2有路径,则称为V1和V2是连通的,如果对于途中任意两个顶端Vi和Vj都是连通的,则称G是连通图 无向图中的极大连通子图称为连通分量。 在有向图G中,如果对于每一对Vi到Vj都存在路径,则称G是强连通图。 有向图中的极大强连通子图称为有向图的强连通分量。 所谓的一个连通图的生成树是一个极小的连通子图,它含有图中全部的n个顶点,但只有足以构成一棵树的n-1条边。 如果有一个有向图恰有一个顶点入度为0,其余顶点的入度均为1,则是一棵有向树。 C/C++Linux服务器开发/高级架构师 系统性学习地址:https://ke.qq.com/course/417774?flowToken=1031343 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 2:14:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |