`

大话数据结构十九:图的存储结构之邻接表

 
阅读更多

1. 邻接表(无向图)的特点:

有时候邻接矩阵并不是一个很好的选择:


如上图: 边数相对顶点较少,这种结构无疑是存在对存储空间的极大浪费。

邻接表: 数组和链表结合一起来存储。

1.)顶点用一个一位数组存储。

2.)每个顶点Vi的所有邻接点构成一个线性表,由于邻接点的个数不确定,所以我们选择单链表来存储。



2. 邻接表(有向图)的特点:

把顶点当弧尾建立的邻接表,这样很容易就可以得到每个顶点的出度。



有时为了便于确定顶点的入度或以顶点为弧头的弧,我们可以建立一个有向图的逆邻接表



3. 邻接表(网)的特点:

对于带权值的网图,可以在边表结点定义中再增加一个数据域来存储权值即可:




分享到:
评论

相关推荐

    头歌数据结构图的邻接表存储及遍历操作

    ### 二、头歌数据结构图的邻接表存储 #### 1. 数据类型定义 - **顶点类型**:`VertexType` 定义为一个字符数组,用于存储顶点的名称。 - **图的种类**:`GraphKind` 定义了四种类型的图:有向图 (DG)、有向网 (DN)...

    数据结构 图的邻接表存储

    ### 数据结构:图的邻接表存储 #### 一、引言 在计算机科学中,图是一种非线性数据结构,由顶点集合V和边集合E组成,表示为G=(V,E)。图可以用来表示各种各样的关系,如社交网络中的朋友关系、互联网中的网页链接等...

    C语言数据结构邻接表课程设计

    在“C语言数据结构邻接表课程设计”中,我们将深入探讨如何利用C语言实现数据结构中的邻接表,这是图论中一个重要的抽象概念。邻接表是表示图的有效方式,尤其对于稀疏图(边的数量远小于顶点数量的平方)来说,它的...

    数据结构 图 邻接表

    邻接表是图数据结构的一种高效实现,特别适用于稀疏图(边的数量远小于顶点数量的平方)。在邻接表中,每个顶点都有一个链表或数组,存储与之相连的所有顶点。这种方式节省了空间,因为对于没有直接连接的顶点,我们...

    数据结构实验3.4:以邻接表为存储结构的图的深度、宽度优先遍历.doc

    数据结构实验报告主要探讨了如何使用邻接表作为存储结构来实现图的深度优先遍历(DFS)和广度优先遍历(BFS)。在计算机科学中,图是一种表示对象间关系的数据结构,邻接表是高效存储无向图或有向图的一种方式,它...

    数据结构实验3.3:邻接表的初始化、撤销、边的搜索、插入、删除等操作.doc

    数据结构实验报告

    数据结构作业 邻接表

    完成“数据结构作业 邻接表”可能涉及以下内容:理解图的概念、邻接表的结构、如何用代码实现邻接表、以及如何使用邻接表进行DFS和BFS。通过这项作业,你可以深入理解数据结构的重要性,并提高解决实际问题的能力。...

    图的邻接矩阵存储和邻接表存储

    图是数据结构中的一种重要类型,它用于表示对象之间的关系,比如城市间的公路网络、社交网络等。在计算机科学中,我们通常使用两种主要的方法来存储图:邻接矩阵和邻接表。这两种方法各有优缺点,适用于不同的场景。...

    数据结构:图的建立与输出.doc

    在这个实验中,我们专注于图的邻接表存储结构,这是一种高效地表示图的方式,特别适用于处理稀疏图(即边的数量远小于顶点数量的平方)。 邻接表由一系列顶点结点组成,每个顶点结点包含一个指向其所有相邻顶点的...

    数据结构与算法实验(C++):图的邻接表实验-代码

    1)熟练掌握图的邻接表存储结构的实现; 2)熟练掌握基于邻接表的图的基本操作算法实现; 3)灵活使用有向图来解决具体的问题。 (2)实验内容: 1)定义有向图的邻接表类,封装图的基本操作算法,包括: a.创建、...

    数据结构与算法学习:图的遍历以及邻接表

    数据结构与算法学习:图的遍历以及邻接表

    邻接表数据结构C++

    在计算机科学中,数据结构是组织、存储和处理数据的方式,而邻接表是一种高效表示图数据结构的方法,尤其在处理稀疏图时更为实用。本文将深入探讨邻接表的概念,以及如何使用C++来实现它,并结合封装原则进行代码...

    头歌数据结构图的邻接矩阵存储及遍历操作

    ### 头歌数据结构图的邻接矩阵存储及遍历操作 #### 一、邻接矩阵存储 在数据结构中,图是一种常见的非线性结构,用于表示对象间的关系。根据边是否有方向,图可以分为有向图和无向图。而根据边是否具有权重值,又...

    数据结构学习--图的邻接矩阵和邻接表存储

    在数据结构的学习中,图是一种非常重要的非线性数据结构,用于表示对象之间的关系。图的存储方式主要有两种:邻接矩阵和邻接表。这两种存储方式各有优缺点,适用于不同的场景。 邻接矩阵是一种二维数组,其中的元素...

    数据结构邻接表

    数据结构上级试验,邻接表,c语言,vc系统使用

    C++ 数据结构实验:邻接表

    数据结构课堂实验,邻接表的实现,给大家一个参考

    基于《大话数据结构》进行数据结构的学习.zip

    基于《大话数据结构》进行数据结构的学习数据结构研究基于《大话数据结构》进行数据结构的学习线性表单链表栈的顺序存储结构两栈共享空间栈的链式存储结构循环队列的顺序存储队列的链表结构串查找字符子串位置KMP...

    数据结构6.4图的存储之二邻接表

    ### 数据结构6.4 图的存储之二:邻接表 #### 一、邻接表的基本概念 在图论中,图是一种常见的数据结构,用于表示对象及其之间的关系。图可以分为无向图和有向图。对于图的存储结构来说,主要有两种方式:邻接矩阵...

    毕业设计-数据结构基于紧缩图的邻接表的拓扑排序.doc

    紧缩图的邻接表是数据结构中的一种重要数据结构形式,它将图的每个顶点的邻接表紧凑地存储在两个向量list和h中,其中向量list依次存储顶点0、1、…、n-1的邻接顶点,而向量单元h[i]存储顶点i的邻接表在向量list中的...

    数据结构图的邻接矩阵,邻接表存储表示,图的深度优先搜索遍历,广度优先搜索遍历

    首先,邻接矩阵是一种表示图的数据结构,它是一个二维数组,其中的每个元素代表图中对应节点之间的边。如果节点i和节点j之间有边,那么在邻接矩阵中对应的元素为1,否则为0。对于无向图,邻接矩阵是对称的;而对于有...

Global site tag (gtag.js) - Google Analytics