本文目录导航:
数据结构-图的简介
举个例子,微信中许许多多的用户组成了一个多对多的好友相关网,这个相关网就是数据结构中的图(Graph)。
图,是一种比树更为复杂的数据结构,树的节点之间是一对多的相关,并且存在父与子的层级划分,而图的顶点(留意在此不叫节点)之间是多对多的相关,并且一切顶点都是对等的,次要谁是父谁是子。
在图中,最基本的单元是 顶点 ,相当于树中的节点,顶点之间的关联相关,被称为 边 。

在一些图中,每一条边并不是齐全同等的,使得边具备 权重 ,触及到权重的图,称为 带权图。
还有一些图中,顶点之间的关联并不是齐全对称的,举个例子比如说微博,你的粉丝列表里有我,但我的粉丝列表里未必有你,相似于这种双方面关注的,顶点之间的边就有了方向的辨别,这种带有方向的图称为 有向图 。
因此,综合有向无向、带权重不带权重,交叉来讲,图有带权重有向的、 带权重无向的 、不带权重的有向的、不带权重的无向的...
经常使用二维数组,表白各个顶点之间的关联相关
为了处置 邻接矩阵占用空间 的疑问,人们想到了另一种图的示意方法:邻接表 在邻接表中,图的每一个顶点都是一个链表的头节点,其后衔接着该顶点能够间接到达的相邻顶点(在有向图中更能表现长处)
另外,其余示意方法:逆邻接表、十字链表...,在此不过多引见了就。
即从图的某个顶点登程, 访问图中的一切顶点,且使每个顶点仅被访问一次性 ,这个环节为图的遍历。
方法:BFS、DFS(详细引见在之后章节,敬请等候。
。
。
)
数据结构——图的定义与性质
图 (Graph) 是由若干给定的顶点及衔接两顶点的边所导致的图形,这种图形理论用来形容某些事物之间的某种特定相关。
顶点用于代表事物,衔接两顶点的边则用于示意两个事物间具备这种相关。
图论 (Graph theory) 是数学的一个分支,图是图论的重要钻研对象。
表白式:G=(V, E) V:顶点(数据元素)的有穷非空汇合。
E:边的有穷汇合。
Graph = (Vertex, Edge)
1、 无向图 :顶点之间相连的线咱们称为边,每条边都是有方向的。
无向图 有向图
在数据结构中图的示意方法有多少种
四种。
1、邻接矩阵
2、邻接表
3、有向图 十字链表
4、无向图 邻接多重表
罕用数据结构:数组(静态数组、灵活数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 · Hash(存储地址计算,抵触处置)
裁减资料:
逻辑结构包含:
1、汇合:数据结构中的元素之间除了“同属一个汇合” 的相互相关外,别无其余相关;
2、线性结构:数据结构中的元素存在一对一的相互相关;
3、树形结构:数据结构中的元素存在一对多的相互相关;
4、图形结构:数据结构中的元素存在多对多的相互相关。