图(Graph)结构是一种非线性的数据结构, 图在实际生活中有很多例子,比如交通运输网,地铁网络,等等都可以抽象成图结构。图结构比树结构复杂的非线性结构。 图是由若干个顶点和边组成。
- 无向图 如果一个图结构中,所有的边都没有方向性,那么这种图便称为无向图。
- 有向图 一个图结构中,边是有方向性的,那么这种图就称为有向图。
- 加权图 如果给边加上一个值表示权重,这种图就是加权图。
- 连通图 如果图中任意两个节点都能找到路径可以将它们进行连接,则称该图为连通图。
图有两种表示方法:邻接矩阵、邻接链表。不同的场景及算法可能需要不同的图表示方式, 一般情况下当结点数量非常庞大时,会造成矩阵非常稀疏,空间开销会较大, 此时使用邻接链表的表示方式会占用较少的空间。 而如果是稠密矩阵或者需要快速判断任意两个结点是否有边相连等情况,可能邻接矩阵更合适。
深度优先遍历 广度优先遍历
商品分类选择