数据结构:图(树也是图的一种),有向图和无向图,连通图和非连通图,有向图出度入度
数据结构:图(树也是图的一种),有向图和无向图,连通图和非连通图,有向图出度入度
数据结构:图(graph)
是基本数据结构中最复杂
的一种,也是最常用的
经常用于:
地图应用中计算最佳导航路由
在社交平台中表示好友关系
在网络中表示拓扑结构
https://baike.baidu.com/item/拓扑结构图/2104811
注意:图是由一组节点和连接节点的边
构成的非线性
数据结构
节点 又叫做 顶点
注意:树其实就是图的一种
只不过是 在树中只有一个根节点,并且节点之间不会形成环
有向图和无向图
根据图的节点之间的边是否
有方向
,可分为有向图
和无向图
在有向图中,只能按照指定的方向进行
在无向图中可以 以任意方向访问节点,因此 它也容易构成 环
连通图和非连通图
非连通图 也叫 隔离图
连通图中的每个节点都有连接的边
非连通图
由多个独立的图构成,它们之间没有边进行连接
加权图
使用代码表示图的方式
常见的:
邻接矩阵,邻接节点数组
邻接矩阵表示法中:
图是由一个n乘n
的二维数组表示的,n
为节点的数量,行表示起始节点,列表示目标节点
如果 起始节点和目标节点 之间有边进行连接,就把该位置的元素设置为一,否则设置为零
或者也可以使用true
和false
来表示
注意:对于 无向图 矩阵是对称的,有向图则不一定
有向图
连接节点数组表示法:
节点使用对象
或者类
来表示,每个节点
都保存
了和它直接相连
的节点所构成的数组
,这种结构和 树
类似
无向图的js实现
Node class表示 图的节点
它里边有 节点的值 和 连接节点数组属性
它也是 一个递归结构
连接节点数组中的元素也是Node类型
是当前节点能够连接到的相邻的节点
然后用一个 Graph class表示 图本身
它包含这个图中所有节点
注意:使用零件间的数组表示图
js绘制 图
https://zhuanlan.zhihu.com/p/112029070data
记录顶点节点的数值,firstEdge
则指向当前顶点的边表中的第一个节点。outNum
在无向图中表示的是与顶点邻接的边的数量,在有向图中则是出度。inNum
在无向图中没有意义,在有向图中表示顶点的入度。
入度:有向图的某个顶点作为终点
的次数和。
出度:有向图的某个顶点作为起点
的次数和。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)