《几种图的存储结构的比较课件.ppt》由会员分享,可在线阅读,更多相关《几种图的存储结构的比较课件.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于几种图的存储结构的比较现在学习的是第1页,共18页图的几种主要存储结构图的几种主要存储结构邻接矩阵邻接表十字链表邻接多重表现在学习的是第2页,共18页 无向图的无向图的邻接矩阵邻接矩阵 实现方法:二维数组 优点:1.易判断两点间的关系 2容易求得顶点的度现在学习的是第3页,共18页有向图的有向图的邻接矩阵邻接矩阵现在学习的是第4页,共18页网的邻接矩阵现在学习的是第5页,共18页邻接矩阵邻接矩阵实现方法:二维数组优点:1.易判断两点间的关系 2容易求得顶点的度缺点:占用空间大(边数比顶数小得多)时间复杂度:O(n+n2+e)(n个顶点 e条边)现在学习的是第6页,共18页 无向图的无向图的
2、邻接邻接表表 数据域 指针域 邻接点域 实现方法:链表 优点:1.节省空间 2容易求得顶点的度现在学习的是第7页,共18页有向图的有向图的邻接邻接表表现在学习的是第8页,共18页网的邻接表现在学习的是第9页,共18页邻接表邻接表实现方法:链表优点:1.节省空间 2.易得到顶点的出度缺点:1.不易判断两点间的关系 2.不易得到顶点的入度时间复杂度:O(n+m)或O(n*m)现在学习的是第10页,共18页十字链表 它是它是有向图有向图的另一种链式存储结构。的另一种链式存储结构。思路:思路:将邻接矩阵用链表存储,是邻接表、将邻接矩阵用链表存储,是邻接表、逆邻接表的结合。逆邻接表的结合。(1)(1)开
3、设弧结点,设开设弧结点,设5 5个域(每段弧是一个个域(每段弧是一个数据元素)数据元素)(2)(2)开设顶点结点,设开设顶点结点,设3 3个域(每个顶点也个域(每个顶点也是一个数据元素)是一个数据元素)现在学习的是第11页,共18页弧结点 顶点结点顶点结点tailvex:弧尾顶点位置弧尾顶点位置 headvex:弧头顶点位置弧头顶点位置hlink:弧头相同的下一弧位置弧头相同的下一弧位置tlink:弧尾相同的下一弧位置弧尾相同的下一弧位置info:弧信息弧信息 data :顶点信息顶点信息firstin :以顶点为弧头的第一条弧结点以顶点为弧头的第一条弧结点firstout:以顶点为弧尾的第一
4、条弧结点以顶点为弧尾的第一条弧结点现在学习的是第12页,共18页十字链表实现方法:链表优点:1.空间要求较小 2.易求得顶点的出度和入度缺点:结构较复杂时间复杂度:O(n+m)或O(n*m)现在学习的是第13页,共18页邻接多重表邻接多重表这是这是无向图无向图的另一种链式存储结构,当对的另一种链式存储结构,当对边操作时建议采用此种结构存储。边操作时建议采用此种结构存储。(1 1)设立边结点,)设立边结点,6 6个域(每条边是一个个域(每条边是一个数据元素)数据元素)(2 2)设立顶点结点,)设立顶点结点,2 2个域(每个顶点也个域(每个顶点也是一个数据元素)是一个数据元素)现在学习的是第14页
5、,共18页边结点mark:标志域,标记该边是否被搜索过。:标志域,标记该边是否被搜索过。ivex,jvex:边依附的两个顶点位置边依附的两个顶点位置 ilink:指向下一条依附顶点指向下一条依附顶点 i 的边位置的边位置Jlink:指向下一条依附顶点指向下一条依附顶点 j 的边位置的边位置info:边信息边信息顶点结点data :存储顶点信息存储顶点信息firstedge:依附顶点的第一条边结点依附顶点的第一条边结点现在学习的是第15页,共18页邻接多重表邻接多重表实现方式:链表优点:1.节省空间 2.易判断两点间的关系缺点:结构较复杂时间复杂度:O(n+m)或O(n*m)现在学习的是第16页,共18页现在学习的是第17页,共18页感谢大家观看2022/9/26现在学习的是第18页,共18页