数据结构-图基础

图的定义

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

图的性质

线性表我们把数据元素叫做做元素,树中我们将数据元素叫做结点,在图中的数据元素我们叫做顶点(Vertex)

线性表可以没有元素,叫空表。树可以没有结点,做空树。

线性表中,相邻元素之间具有线性关系。在树中,相邻两层结点具有层次关系。而图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空集。

图的分类

  • 无向图
    直观来说,若一个中每条边都是无方向的,则称为无向图。
    无序对(vi,vj)和(vj,vi)表示同一条边。

    无向图.png

    在无向图中,若每两个顶点都有边,则称该图为无向完全图。
    无向完全图.png

  • 有向图
    若从顶点Vi到Vj的边有方向,则这条边为有向边,也称为弧。用序偶<Vi,Vj>表示,Vi称为弧尾(Tail),Vj称为弧头(Head)。
    如果图中任意两条边的都是有向边,则称该图为有向图。


    有向图.png

在有向图中,若每两个顶点都有互为相反方向的两条有向边,则称该图为有向完全图。

  • 图的权
    有些图的边或者弧度具有与他相关的数字,这种与图的边或者弧相关的数字叫做权。
image.png
  • 连通图

在一个无向图 G 中,若从顶点i到顶点j有路径相连(当然从j到i也一定有路径),则称i和j是连通的。图中任意两个顶点Vi,Vj都是联通的,则称图G为连通图

注意 :是有路径,不是有边。

image.png

无向图顶点的边数叫度,有向图顶点的边数叫出度和入度


image.png

image.png

图的数据存储结构

不能用简单的顺序存储结构表示,也不能用多重链表结构,因为有空间的浪费。

  • 邻接矩阵


    image.png

    在无向图中,边是相当于两个顶点相互指向,邻接矩阵关于斜边对称


    image.png

使用数组的形式来储存数据

  • 邻接表
  • 十字链表(有向图)
  • 邻接多重表(无向图)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 5,867评论 0 19
  • https://zh.visualgo.net/graphds 浅谈图形结构https://zh.visualgo...
    狼之独步阅读 4,287评论 0 0
  • 图是一种比线性表和树更复杂的数据结构,在图中,结点之间的关系是任意的,任意两个数据元素之间都可能相关。图是一种多对...
    Alent阅读 2,372评论 1 22
  • 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合...
    开心糖果的夏天阅读 919评论 0 9
  • github地址:https://github.com/arkulo56/thought/blob/master/...
    arkulo阅读 890评论 0 1