【数据结构】图的创建与遍历

这篇具有很好参考价值的文章主要介绍了【数据结构】图的创建与遍历。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。

线性表:线性关系,由直接前驱和直接后继组成。
:层次关系,由父结点和孩子结点组成,每个结点最多有一个父结点(根结点无父结点)。
:结点的关系是任意的,任意两个结点都有可能有联系。


图的创建

图中存储的数据称为顶点,无向图连接顶点之间关系的称为,有向图连接顶点的称为,弧的起点为弧尾,终点为弧头
图可以根据边有无方向,分为无向图有向图,只要存在有方向的边,则为有向图,全部为无方向边的图,则为无向图。

【数据结构】图的创建与遍历

如果图的边或弧带有权值,则称图为网。


一、邻接矩阵

图可以用G = {V, {E}}表示,V为顶点的集合,E为边或弧的集合。

上图中,无向图 G 1 = { V 1 , { E 1 } } G1 = \{V1, \{E1\}\} G1={ V1,{ E1}}
其中
V 1 = { S , A , B , C , D } V1 = \{S, A, B, C, D\} V1={ S,A,B,C,D}
E 1 = { ( S , A ) , ( S , B ) , ( S , C ) , ( S , D ) , ( A , B ) , ( A , D ) , ( B , C ) , ( C , D ) } E1 = \{(S,A), (S,B), (S,C), (S,D), (A,B), (A,D), (B,C), (C,D)\} E1={ (S,A),(S,B),(S,C),(S,D),(A,B),(A,D),(B,C),(C,D)}

有向图 G 2 = { V 2 , { E 2 } } G2 = \{V2, \{E2\}\} G2={ V2,{ E2}}
其中
V 2 = { S , A , B , C , D } V2 = \{S, A, B, C, D\} V2={ S,A,B,C,D}
E 2 = { < A , S > , < S , B > , < S , C > , < D , S > , < A , B > , < B , A > , < A , D > , < D , A > , < B , C > , < C , B > , < C , D > , < D , C > } E2 = \{<A,S>, <S,B>, <S,C>, <D,S>, <A,B>, <B,A>, <A,D>, <D,A>, <B,C>, <C,B>, <C,D>, <D,C> \} E2={ <A,S>,<S,B>,<S,C>,<D,S>,<A,B>,<文章来源地址https://www.toymoban.com/news/detail-421585.html

到了这里,关于【数据结构】图的创建与遍历的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【数据结构】图的定义,存储,遍历

    🎊专栏【数据结构】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Dream It Possible】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 🍔前言 🎁图的定义   🏳️‍🌈有向完全图 🏳️‍🌈无向完全图 🎁存储结构 🏳️‍🌈邻接矩阵  🎈代码

    2024年02月06日
    浏览(66)
  • 【数据结构】图的存储与遍历

    图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V, E) 在有向图中,顶点对x, y是有序的,顶点对x,y称为顶点x到顶点y的一条边(弧),x, y和y, x是两条不同的边。 在无向图中,顶点对(x, y)是无序的,顶点对(x,y)称为顶点x和顶点y相关联的一条边,这条边没有特定方向,

    2024年02月22日
    浏览(35)
  • 【数据结构】图的广度优先遍历

    广度优先遍历,类似于树的层次遍历,又是熟悉的队列实现。首先将第一个顶点添加到队列中,然后讲该顶点的所有邻接顶点都加入队列中,再将该顶点输出。如此重复直到遍历完整个图。 Q:队列,用于存放顶点。 front,rear:队头和队尾指针,用于入队和出队。 p:工作指针,用

    2024年02月05日
    浏览(36)
  • 数据结构 第六章 图——图的遍历

    在前面我们知道,树是一种非线性结构,为了方便它在计算机中的存储,对树进行遍历使它线性化。 而图同样也是一种非线性结构,但是图又是一种不同于树的多对多结构,所以在前面我们将其转换为了多个一对多的结构来描述它的存储结构。 图的遍历同树类似,也是从某

    2024年02月08日
    浏览(35)
  • 大话数据结构-图的深度优先遍历和广度优先遍历

      图的遍历分为深度优先遍历和广度优先遍历两种。   深度优先遍历(Depth First Search),也称为深度优先搜索,简称DFS,深度优先遍历,是指从某一个顶点开始,按照一定的规则,访问并记录下一个未访问顶点。对于非连通图,则是按连通分量,采用同一规则进行深度优

    2024年02月04日
    浏览(49)
  • (超详细)C++图的深度优先遍历、广度优先遍历(数据结构)

            根据下图,编写代码实现图的深度优先遍历和广度优先遍历。          按照英文字母顺序,以邻接表为存储结构,实现图的深度优先和广度优先遍历。遍历的顺序从顶点a开始。 以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。   (1)从顶点a,

    2024年02月08日
    浏览(51)
  • 《数据结构》实验报告六:图的表示与遍历

    1、掌握图的 邻接矩阵 和 邻接表 表示 2、掌握图的 深度优先 和 广度优先 搜索方法 3、理解 图的应用 方法 说明以下概念 1、深度优先搜索遍历:        一种图的遍历方式:从图中 任意一个 起始顶点 V 出发,接着访问它的任意一个 邻接顶点 W1 ;再从 W1 出发,访问与 W1

    2024年02月06日
    浏览(48)
  • 【数据结构与算法】图的遍历与拓扑排序

    再上一篇中我们讲了树的两种存储方式:【数据结构与算法】图——邻接表与邻接矩阵 这一篇我们可以用数组来模拟邻接表。 假设现在我们要进行n次操作,实现无向图。 首先需要一个 保存是哪个节点 的数组 e 然后就是类似指针数组的 表 h ,每个表都会连一串单链表 e,ne

    2024年02月04日
    浏览(35)
  • 【数据结构】邻接矩阵和邻接图的遍历

    本篇文章开始学习数据结构的图的相关知识,涉及的基本概念还是很多的。 本文的行文思路: 学习图的基本概念 学习图的存储结构——本文主要介绍邻接矩阵和邻接表 对每种结构进行深度优先遍历和广度优先遍历 话不多说,狠活献上 等等,先别急,正式学习之前先认识几个

    2024年02月04日
    浏览(42)
  • Java高阶数据结构 & 图 & 图的表示与遍历

    高阶数据结构! 图是由顶点集合及顶点间的关系组成的一种数据结构: G = ( V , E ) G raph图, v ertex顶点, e dge边 其中: 顶点集合 V = {x|x属于某个数据对象集}是有穷非空集合; E = {(x,y)|x,y属于V}或者E = {|x,y属于V Path(x, y)} ,是顶点间关系的有穷集合,也叫做边的集合。 (x, y

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包