数据结构论坛

注册

 

发新话题 回复该主题

数据结构图的基础 [复制链接]

1#
北京白癜风治疗最好的医院是哪个 http://pf.39.net/bdfyy/bdfzd/

图是一种数据结构,其中,一个节点可以有零个或多个相邻节点,节点之间的连线称为边。节点也可以称为顶点。

上图为一个抽象的图,其中顶点的集合为{A,B,C,D,E},边的集合为{A-B,A-D,B-D,B-C,D-E}

注意:在无向图中,A-B和B-A是一样的。

集合表示定义:图的集合G是由集合V和集合E组成,即G={V,E},V表示图中所有顶点的集合,E表示顶点之间所有边的集合。如果集合E中的元素是有向的,则图G为有向图,否则为无向图。

图的基本概念

无向图

有向图

带权图

图的存储方式

图的存储方式分为两种,分别为邻接表和邻接矩阵。

邻接矩阵

将图中所有节点像下面的形式写出来,右边就写1,没有边就写0或无穷。

上图转化为邻接矩阵表示为:

邻接表邻接表只关心存在的边,不管不存在的边,因此没有存储空间的浪费,存储空间比邻接矩阵表示要小得多。

邻接表表示如下:

深度优先遍历和广度(宽度)优先遍历深度优先遍历:首先访问首节点的邻接点,再以这个邻接点作为首节点接着访问它的邻

接点以此类推。显然,深度优先遍历是一个递归的过程。

广度(宽度)优先遍历:广度优先遍历相当于一个层的遍历,从左到右遍历完第一层后

接着从左到右遍历第二层,以此类推。

如图:深度优先遍历为,广度优先遍历为

分享 转发
TOP
发新话题 回复该主题