图的概念
线性表(链表)局限于一个直接前驱和一个直接后继的关系
树也只能有一个直接前驱也就是父节点
当我们需要表示多对多的关系时,就用到了图。
图是一种数据结构,其中可以具有以下零个或多个相邻元素。两个节点之间的链接称为边。节点也可以称为顶点
无向图
图的表示方式
图的表示方式有两种:二维数组表示(邻接矩阵);链表表示(邻接表)
邻接矩阵
邻接矩阵是表示图形中顶点之间相邻关系的矩阵,对于n个顶点的图而言,矩阵row和col表示的是1...n个点
邻接表
1.邻接矩阵需要为每个顶点都分配n个边的空间,其实有很多都是不会存在,会造成空间一定损失
2.邻接表的实现只是关心存在的边,不会关心不存在的边。因此没空间浪费,邻接表由数组+链表组成
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)