基础笔记:图的一些概念

图(graph)、顶点(vertices)、边(edges

图由顶点和边组成,是表示物件与物件(objects)之间的关系的方法。在其他的术语中,图也被称作网络(network,顶点被称作结点(nodes,边被称作链接(links

图的数学表示:,其中V是顶点集: ; E是边集:


2 顶点相邻(adjacent

两个顶点被一条边相连,就说这两个顶点是相邻的(换句话讲,如果说某两个顶点是相邻的,也就是指这两个顶点之间有边),这两个顶点互为邻居顶点(neighbor vertices。如图1(a)中,顶点A与顶点B、C、D相邻,与顶点E不相邻,B、C、D都是A的邻居顶点。

图1:(a)无向图(undirected graph),有向图(directed graph),无向权重图(weighted undirected graph


3 聚类系数(clustering coefficient

顶点的聚类系数:一个顶点,它有K个邻居顶点【邻居顶点概念见上边“2 顶点相邻“】,这k个邻居顶点之间实际存在的边的个数比上这k个邻居顶点最多可能存在的边的个数(也即),这个比值就是这个顶点的聚类系数。

如图2(a)中蓝色顶点有3个白色邻居顶点,这3个邻居顶点实际有边3条(黑色加粗线条所示),而3个邻居顶点最多可能边数是3*(3-1)/2=3 ,因此最后的聚类系数CC=3/3=1

如图2(b)中蓝色顶点有3个白色邻居顶点,这3个邻居顶点实际有边1条(黑色加粗线条所示),而3个邻居顶点最多可能边数是3*(3-1)/2=3 ,因此最后的聚类系数CC=1/3

如图2(c)中蓝色顶点有3个白色邻居顶点,这3个邻居顶点实际有边0条(黑色加粗线条所示),而3个邻居顶点最多可能边数是3*(3-1)/2=3 ,因此最后的聚类系数CC=0

顶点的聚类系数又被称为局部聚类系数(local clustering coefficient

        


图2:顶点的聚类系数(a)CC=1 (b)CC=1/3  (c)CC=0


聚类系数:一个图中所有顶点的聚类系数的平均值为这个图的聚类系数。也被称作网络的平均聚类系数(networkaverage clustering coefficient


4 顶点的度(degree),图的平均度(average degree,度分布(degree distribution

顶点的度:一个顶点的度是指与该顶点相连的边的个数。有向图的顶点的度还可以细分为入度和出度,入度是以该顶点为头(head的边的条数,出度是以该顶点为尾(tail的边的条数。

如图1(a)中 顶点A的度是3,图1(b)中顶点A的度是3,其中入度是1,出度是2。


一个图的平均度(average degree是:

其中N是图中顶点的个数。


一个图的度分布是:整个图中顶点的度的概率分布。

例如,如果一个图共有N个顶点,其中Ni个顶点的度是K,那么这个图的度分布P(K)=Ni/N。

很多社会网络的度分布服从幂法则(power law,即

幂律分布也称为无标度分布(scale free distribution


5 完全图(complete graph

每一对不同顶点恰有一条边相连,即每一对不同顶点都是相邻的,则一个图称为完全图。

n个端点的完全图Kn 表示,有n个端点及条边【完全图的n个顶点的任意两个顶点恰有一条边,求边数相当于一个组合问题】。举例如下图:

图3:完全图举例


6 派系(clique

一个无向图的一个派系是指:这个无向图的顶点集有这样一个子顶点集,子顶点集里的任意两个顶点都有一条边相连(也即子顶点集中的任意两个顶点都是相邻的),那么这个子顶点集及其边构成的图就是这个无向图的一个派系。如果这个派系的顶点有k个,就称这个派系为k-派系(k-clique

其实也就是一个无向图里的一个子完全图就是这个无向图的一个派系

下面这个图共有23个1-派系(也即这个图的所有顶点个数)、42个2-派系(也即图中的所有边)、19个3-派系(图中所有蓝色区域标出的三角形)、2个4-派系(图中深蓝区域的四边形)

图4:派系举例


7  路径(path),简单路径(simple path), 最短路径(shortest path),平均最短路径长度(average shortest path length),图的直径(diameter,连通图(connected graph),连通分量(connected component

路径:如图1(a)中,[A-B-E-C]就是顶点A到顶点C的一条路径。

简单路径:路径中没有重复顶点的路径叫做简单路径,[A-B-E-C]就是一条简单路径。

最短路径:如图1(a)中,顶点A到顶点C的最短路径是 [A-C]

平均最短路径长度:一个图中所有任意两点间的最短路径的平均值。

的直径:图中所有的任意两顶点间的最短路径中,最长的那个最短路径被定义为这个图直径。

连通图:图中任意两顶点都可以由一条路径连接起来,这个图就是连通图。

连通分量:一个图的最大的连通的子图。


8 图的类型:二分图(Bipartite graphs),随机图(Random graphs),正则图(Regular graphs),无标度图(Scale-free graphs),小世界图(Small-world graphs

二分图:一个无向图的顶点集可分割为两个互不相交的子集,并且图中每条边所关联的两个顶点分别属于这两个不同的顶点子集(也就是说每个顶点子集里的顶点不相邻),这个图可以称为一个二分图。

下图就是一个二分图,因为这个图的顶点集可以这样划分:{1,2,3}和{4,5,6,7},顶点子集{1,2,3}中的三个顶点不相邻,顶点子集{4,5,6,7}中的四个顶点也不相邻,符合二分图条件。

图5:二分图


随机图:图中的边是随机生成的,即任意两个顶点之间有一条边的概率为P。

正则图:如果图中所有顶点的度皆相等,则此图称为正则图。

无标度图:图的度分布服从幂律分布的图为无标度图。

小世界图:图中任意两个顶点之间的路径都非常小的图(例如地球上任意两个人之间的平均距离是6,人际关系图就是一个小世界图)。


9 两个图的积:笛卡尔积图(Cartesian product graph),直积图(direct product graph),图的合成图(Lexicographical product graph

两个图的积是指由两个图G1 和 G2 生成一个新图 H 的操作:要求 新图H 的顶点集(vertex set)是 G1 和G2顶点集的笛卡尔积,即;而当且仅当u1,u2,v1,v2满足特定的条件时,新图H 中的两顶点 (u1,u2)和(v1,v2)之间才有边相连


图5:G1和G2

如图5所示两图,G1 和G2的各类积图定义如下:

笛卡尔积图:对于顶点集V= 中的任意两个顶点 u=(u1,u2)和 v=(v1,v2),当u1=v1 且 在G2中 u2 adj v2 或者 u2=v2 且  在G1中 u1 adj v1  时,把顶点u和v相连, 如此得到的新图称为G1 和 G2的笛卡尔积图。

(注:adj 是 adjacent 相邻的缩写, 在G1中 u1 adj v1即指 u1 和 v1在图G1中相邻,也即u1和v1之间在图G1中有边相连。

例子:根据定义,G1和G2的笛卡尔积图的顶点集是={(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)},根据条件,如顶点(1,3)和(1,4),满足1=1, 且 3 与4 在图G2中相连的条件,故顶点(1,3)和(1,4)之间有边,依次类推,G1和G2的笛卡尔积图如下所示。


图6:G1和G2的笛卡尔积图


直积图对于顶点集V= 中的任意两个顶点 u=(u1,u2)和 v=(v1,v2),当 在G1中 u1 adj v1 且 在G2中 u2 adj v2  时,把顶点u和v相连, 如此得到的新图称为G1 和 G2的直积图。

例子:根据定义,G1和G2的直积图的顶点集是={(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)},根据条件,如顶点(1,3)和(2,4),满足 1和2在图G1中相连 且 3 与4 在图G2中相连的条件,故顶点(1,3)和(2,4)之间有边,依次类推,G1和G2的直积图如下所示。


图7:G1和G2的直积图


合成图对于顶点集V= 中的任意两个顶点 u=(u1,u2)和 v=(v1,v2),当G1中 u1 adj v1或者当 u1= v1 时,在G2中 u2 adj v2 时,把顶点u和v相连, 如此得到的新图称为G1 和 G2的合成图G1[G2]

例子:根据定义,G1和G2的合成图的顶点集是={(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)},根据条件,如顶点(1,3)和(2,4),满足 1和2在图G1中相连 ,而(1,3)和(1,4)满足1=1,3和4在图G2中相连,故顶点(1,3)和(1,4)之间有边,依次类推,G1和G2的合成图G1[G2]如下所示。


图8:G1和G2的合成图G1[G2]



参考

《复杂网络理论及其应用》

《GRAPH-BASED NATURAL LANGUAGE PROCESSING AND INFORMATION RETRIEVAL》

Wikipedia:clustering coefficientPath(social network)complete graphclique(graph theory)degree distribution ,graph product


转载请注明出处 http://blog.csdn.net/minenki/article/details/8606515

  • 19
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 尚硅谷Java基础笔记是一套系统而全面的Java基础学习资料。这份笔记从Java语言的基本概念介绍开始,涵盖了Java的核心知识点,包括变量、数据类型、运算符、流程控制等。接着,笔记详细讲解了面向对象编程的特点和Java中的类、对象、封装、继承、多态等内容。 在这份笔记中,还深入讨论了Java中的常用类库,如String、ArrayList、HashMap等,以及它们的常见用法和实例操作。此外,笔记还介绍了常见的异常处理机制,包括try-catch语句、throw和throws关键字等,帮助学习者理解并掌握Java中的错误和异常处理。 除了基础知识的讲解,尚硅谷Java基础笔记还提供了大量的例子和练习题,帮助学习者巩固所学内容,并通过实践提高编程能力。这些例子和练习题涵盖了各个知识点和应用场景,从简单到复杂,逐渐深入,非常有助于学习者的理解和应用能力的提升。 总而言之,尚硅谷Java基础笔记是一份详细、系统、易懂的学习资料,适合初学者入门学习Java编程。无论是对于零基础的学习者还是对于有一定编程经验的人来说,这份笔记都是一份不可多得的宝藏,可以帮助他们夯实Java基础,掌握编程技巧,为进一步扩展知识奠定坚实的基础。 ### 回答2: 尚硅谷java基础笔记是一份完整而详细的教程,对于初学者来说是一个很好的学习资源。 这份笔记由尚硅谷团队精心编写而成,包含了Java基础的各个方面。首先从Java的历史和应用领域入手,引导读者对Java有一个整体的认识。然后逐步介绍Java的发展环境和使用工具,让读者能够了解如何配置和使用Java开发环境。 接下来,笔记逐个介绍了Java的基本语法、数据类型、运算符、流程控制语句等基础知识。这些内容以简洁明了的方式呈现,附有实例和练习题,让读者可以通过练习巩固所学内容。 除了基础语法,笔记还深入讲解了Java的面向对象编程思想和相关特性,包括类与对象、封装、继承、多态等。这部分内容对于理解Java的核心思想和编程范式非常重要,而且通过实例和案例的讲解,更加直观地展示了面向对象的优势和应用。 此外,笔记还包含了Java的常用类库的介绍,如集合框架、IO流、异常处理等,这些内容对于进行实际开发非常实用。 总之,尚硅谷java基础笔记内容全面、深入浅出,适合初学者学习和巩固基础知识。通过系统地学习这份笔记,读者可以建立起扎实的Java基础,为后续的学习和实践打下坚实的基础。同时,笔记中的案例和练习题也为读者提供了不少实践机会,帮助读者更好地理解和应用所学知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值