美文网首页
2018-09-27 图的表示

2018-09-27 图的表示

作者: MiaLing007 | 来源:发表于2018-09-27 22:40 被阅读0次

图是一种网状的结构,它是数据结构中最复杂的元素,可以有很多种表达方式。从面向对象的思想出发,一个对象只要能对外界提供它对应的功能,而不必拘泥其内存中的表达方式。
对于一个图,我们经常有哪些访问要求呢?最常见的问题就是一个顶点到底连接了哪些边,一个边连接了哪些顶点,一个顶点相邻的顶点是谁,一个边相邻的边是谁,等等。如果我们能回答这些问题,那么它内存的表示,如何存储并不是十分关键。
图我们可以采用多种表示方式:

邻接矩阵
image.png

可以使用邻接矩阵的方式来表示上边的图
    0  1  1  1  0
    1  0  1  1  1
    1  1  0  0  0
    1  1  0  0  0
    0  1  0  0  0
邻接矩阵的表示比较直观 易理解,比如下图中邻接矩阵第二行,它表示为节点1对应的邻接节点关系,0代表未连接,除了与它自己以外的所有节点都有连接。

image.png

对于无向图,邻接矩阵是关于主对角线对称的。
邻接矩阵是以顶点为中心的表达法,如果要回答一些关于边的问题就要稍稍吃力了。

邻接表

假如我们图比较稀疏,顶点又非常的多,那使用邻接矩阵就太浪费内存了。这种情况下我们就可以采用邻接表的形式

image.png

看上边的这个图,每个顶点都指向了一个链表,表示与它关联的顶点,这种表达方式就十分节约内存。从一个顶点出发,可以很容易找到它相邻顶点。

相关文章

  • 2018-09-27 图的表示

    图 图是一种网状的结构,它是数据结构中最复杂的元素,可以有很多种表达方式。从面向对象的思想出发,一个对象只要能对外...

  • 图的表示

    1. 如何理解 “图” 图由顶点(vertex)和边(edge)组成,顶点之间通过边来建立一种联系。 生活中有很多...

  • 图的表示

    前言 初次接触图这个数据结构,往往会觉得十分的复杂,难以接受。但是一旦学习完毕图的大致概念,尤其是邻接矩阵这个之后...

  • 图的表示

    图的概念 无向图无向图 有向图有向图 带权图带权图 顶点:图中的元素。 边:图中的一个顶点可以与任意其他顶点建立连...

  • 图的表示

    如何理解“图”? 图中的元素我们就叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。我们把这...

  • 图的表示

    如何理解“图”? 图中的元素我们就叫作顶点(vertex)。图中的一个顶点可以与任意其他顶点建立连接关系。我们把这...

  • 要让机器人飞入寻常百姓家,优必选这三步棋很关键

    原创|发布:2018-09-27 18:47:48更新:2018-09-27 21:38:14 阅读20387赞1...

  • 图的表示方法

    基本要求 它必须为可能在应用中碰到的各种类型的图预留出足够的空间; 图的实例方法实现一定要快。 实现选择 邻接矩阵...

  • UITableView表示图

    表示图初始化 实现dataSource协议方法 实现delegate协议方法 自定义内容视图以及辅视图 在如下代码...

  • UML类图

    1.类图基础属性 类图的表示 -表示private #表示protected ~表示default,也就是包权限 ...

网友评论

      本文标题:2018-09-27 图的表示

      本文链接:https://www.haomeiwen.com/subject/ppbyoftx.html