码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据结构(10)图的概念、存储


    目录

    10.1.概念

    10.2.存储

    10.2.1.邻接矩阵

    10.2.2.邻接表


    10.1.概念

    定义:

    图,用来表示多对多的关系,比如地图里城市之间的通路、比如人际关系。

    图由顶点和边组成,顶点是图里的每个结点,边是顶点之间的通路,可以一条边都没有,但是不能一个顶点都没有。

    分类:

    图按照边分,可分为两种:

    • 有向图,边是有方向的,A—>B表示A可以到B,B不能到A。
    • 无向图,边是无方向的,A—B表示A可以到B,B也可以到A。

    图按照点与边的数量,可分为两种:

    • 稀疏图,点多边少
    • 稠密图,点少边多
    • 完全图,特殊的稠密图,每个顶点间都有边相连。

    符号表示:

    顶点集合

    V
    边的集合E

    无向边

    (V,W),表示V,W双向连通

    有向边

    ,表示V—>W。

    10.2.存储

    图有两种存储方式:

    • 邻接矩阵
    • 邻接表

    10.2.1.邻接矩阵

    邻接矩阵,用一个二维的数组表示图。

    G[i][j]=1,表示V(i)、V(j)之间有一条边。

    G[i][j]=0,表示V(i)、V(j)之间没有边。

    以一个无向的稀疏图的存储为例:

    ABCDE
    A01001
    B10110
    C01010
    D01101
    E10010

    可以看到用邻接矩阵存放点多边少的图,会存在大量记录都是0,没有任何意义,浪费了大量内存,因此,邻接矩阵适合存放稠密图(尤其是完全图)、不适合存放稀疏图(会有大量内存被浪费)。

    10.2.2.邻接表

    邻接表,用一组链表来表示图,每一条链表表示某个顶点和其他顶点的连同关系。

    以一个稠密的无向图的存储为例:

     可以看到邻接表里单个结点间的连接关系被多次重复描述也浪费了不必要的内存,因此,邻接矩阵适合存放稀疏图、不适合存放稠密图。

  • 相关阅读:
    SpringBoot+Redis实现接口级别缓存信息
    VR步进式漫游,轻松构建三维模型,带来展示新形式!
    【2023年11月第四版教材】第24章《法律法规与标准规范》(合集篇)
    C++游戏设计教程(4)—— 用颜色原理打印平面地图
    论文解读(IDEC)《Improved Deep Embedded Clustering with Local Structure Preservation》
    Nginx网关配置
    eslint错误修改之后依然报错
    防御XSS攻击的方法
    靠着腾讯的「操作系统笔记」,成功帮我拿下了 3 个大厂的 offer
    融云&艾瑞发布《政企数智办公平台行业研究报告》,解读数智化时代的办公新趋势
  • 原文地址:https://blog.csdn.net/Joker_ZJN/article/details/128175418
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号