图是由两个组件定义的数据结构:
- 一个节点或一个顶点。
- 边 E 或有序对是两个节点 u,v 之间的连接,由唯一对 (u,v) 标识。这对 (u,v) 是有序的,因为 (u,v) 在有向图的情况下与 (v,u) 不同。边可能具有权重,或者在未加权图的情况下设置为 1。
考虑下图,
要了解“图形表示”,请单击此处
应用:
图是一种在我们现实生活中广泛使用的数据结构。
- 社交网络:每个用户被表示为一个节点,他们所有的活动、建议和好友列表都被表示为节点之间的一条边。
- 谷歌地图:各种位置表示为顶点或节点,道路表示为边,图论用于找到两个节点之间的最短路径。
- 电商网站推荐:各大电商网站的“为您推荐”板块,利用图论,向用户推荐相似类型的商品。
- 图论也用于研究化学和物理学中的分子。
更多关于图表:
图的特点:
- 相邻节点:当且仅当在 ‘u’ 和 ‘v’ 之间存在边时,才称节点 ‘v’ 是节点 ‘u’ 的相邻节点。
- 节点的度数:在无向图中,发生在节点上的节点数是节点的度数。
在向图的情况下,节点的入度是到达边缘节点的数目。
该节点的出度是前提边缘节点的数目。 - 路径:从节点“u”到节点“v”的长度为“n”的路径被定义为n+1 个节点的序列。
P(u,v)=(v0,v1,v2,v3…….vn)
如果所有节点都不同,则路径很简单,但源和目标相同的情况除外。
- 孤立节点:度数为0的节点称为孤立节点。孤立节点可以通过广度优先搜索(BFS)找到。它在LAN 网络中的应用是查找系统是否已连接。
图表类型:
- 有向图:
将边的方向定义为特定节点的图是有向图。- 有向无环图:它是一个没有循环的有向图。对于 DAG 中的顶点“v”,没有以顶点“v”开始和结束的有向边。
a) 应用:临界博弈分析、表达树评价、博弈评价。 - 树:树只是图的一种受限形式。也就是说,它是一个有限制的 DAG,一个子节点只能有一个父节点。
- 有向无环图:它是一个没有循环的有向图。对于 DAG 中的顶点“v”,没有以顶点“v”开始和结束的有向边。
- 无向图:
一个没有定义边方向的图。所以如果节点’u’和’v’之间存在边,那么从节点’u’到’v’有一条路径,反之亦然。- 连通图:当每对顶点之间存在路径时,图是连通的。在连通图中,没有不可到达的节点。
- 完全图:每对图顶点由一条边连接的图。换句话说,每个节点“u”都与图“G”中的每个其他节点“v”相邻。一个完整的图将有n(n -1)/2 条边。请参阅下面的证明。
- 双连通图:不能通过删除任何顶点而进一步分解的连通图。它是一种没有连接点的图。
完整图的证明:
- 考虑一个具有 n 个节点的完整图。每个节点都连接到其他 n-1 个节点。因此它变成了 n * (n-1) 条边。但这会将每条边计算两次,因为这是一个无向图,因此将其除以 2。
- 因此它变为 n(n-1)/2。
考虑给定的图,
//省略重复边
节点 A 上的边 = (A,B),(A,C),(A,E),(A,C)。
节点 B 上的边 = (B,C),(B,D),(B,E)。
节点 C 上的边 = (C,D),(C,E)。
节点 D 上的边 = (D,E)。
节点 E 上的边 = EMPTY.https://en.wikipedia.org/wiki/Graph_theory
总边数 = 4+3+2+1+0=10 条边。
节点数 = 5。
因此 n(n-1)/2=10 条边。
从而证明。
阅读下一组——图论基础