第六章 图(2)图的存储及其基本操作

 

邻接矩阵法
    概念
        一维数组存储图顶点信息
二维数组存储边的信息
(也就是顶点之间的邻接关系)
            存储顶点之间邻接关系的二维数组
称为邻接矩阵图G=(V,E)
        结点数为n,邻接矩阵A是n*n的
            A[i][j]=1是E(G)中的边
A[i][j]=0不是E(G)中的边
            带权重的话就是权值不是1和0了
    注意
        无向图的邻接矩阵是对称矩阵,对规模大的邻接矩阵可采用压缩存储
        邻接矩阵表示法空间复杂度为O(n^2)
        适用于稠密图
    特点
        无向图的邻接矩阵是一个对称矩阵(唯一)
所以实际存储时只需存储上(下)三角矩阵的元素
        无向图,i行非0元素个数是顶点的度
        有向图,i行非0元素个数是出度或入度
邻接表法
    概念
        减少稀疏图的浪费
        每个顶点建立一个单链表,第i个单链表中结点表示依附于顶点Vi的边
        单链表称为顶点的边表,有向图则是出边表
        边表的头指针和顶点的数据信息采用顺序存储
    特点
        无向图,存储空间O(|V|+2|E|
有向图,存储空间O(|V|+|E|)
        对于稀疏图,邻接表法极大地节省存储空间
        邻接表很容易找出所有邻边,花费时间为O(n)
        求出度只需计算邻接表中结点个数,求入度需要遍历所有邻接表
        图的邻接表表示方法不唯一,取决于邻接表的算法及边的输入次序
十字链表
    概念
        有向图的链式存储结构
        对应于有向图中每条弧有一个结点,对应于每个顶点也有一个顶点。
    弧结点5个域
        尾域
            弧尾顶点的位置
        头域
            弧头顶点的位置
        链域hlink
            弧头相同的下一条弧
        链域tlink
            弧尾相同的下一条弧
        info域
            弧的相关信息
    顶点结点3个域
        data域
            顶点相关数据信息,如顶点名称
        firstin
            弧头第一个弧结点
        firstout
            弧尾第一个弧结点
邻接多重表
    概念
        无向图的另一种链式存储结构 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值