第六章 图(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
            弧尾第一个弧结点
邻接多重表
    概念
        无向图的另一种链式存储结构 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值