当前位置: 首页 > news >正文

软考中级-数据库-3.4 数据结构-图

图的定义

  • 一个图G(Graph)是由两个集合:V和E所组成的,V是有限的非空顶点(Vertex)集合,E是用顶点表示的边(Edge)集合,图G的顶点集和边集分别记为V(G)和E(G),而将图G记作G=(V,E)。
  • 可以看出,一个顶点集合与连接这些顶点的边的集合可以唯一表示一个图。
  • 在图中,数据结构中的数据元素用顶点表示,数据元素之间的关系用边表示。

图的相关概念

有向图(括号是尖括号)

  • 图中每条边都是有方向的。从顶点vi到顶点vj表示为<vi,vj>

而从顶点vj到顶点vi表示为<vj,vi>。有向边也称为弧。起点称为弧尾终点称为弧头。

无向图(括号是圆括号)

完全图

若一个无向图具有n个顶点,而每一个顶点与其他n-1个顶点之间都有边,则称之为无向完全图。显然,含有n个顶点的无向完全图共有n(n-1)/2条边,类似地,n个顶点的有向完全图中弧的数目为n(n-1),即任意两个不同顶点之间都存在方向相反的两条弧。

图的存储结构

(1)邻接矩阵表示法

有边就记为1,无边记为0

无向图都是对称的

网(带有权值的图)的邻接矩阵的表示:

(2)邻接链表表示法

  • 邻接链表是为图的每一个顶点建立一个单链表,第i个单链表中的节点表示依附于顶点vi的表(对于有向图是以vi为尾的弧)
  • 邻接链表中的表节点有表节点和表头节点两种类型

无向图的邻接链表表示法

有向图的邻接链表表示法

带权值的网的邻接链表表示法

相关文章:

  • sql-labs靶场笔记
  • list
  • 一些相关知识
  • 队列的顺序结构——循环队列——入队
  • 【零基础到精通Java合集】第十一集:List集合框架与泛型
  • 【练习】【链表】力扣热题100 2. 两数相加
  • 鸿蒙开发中,数据持久化之Transaction(事务)的概念及应用
  • C语言基础要素(010):复合赋值
  • Android 14 - HDMI_CEC架构分析
  • Go语言学习笔记(六)——标准库
  • 量子算法:英译名、概念、历史、现状与展望?
  • SparkStreaming之04:调优
  • WPF高级 | WPF 应用程序部署与发布:确保顺利交付到用户手中
  • 深入 PipeWire
  • Lua如何实现面向对象的三大特性?
  • Linux第五讲----gcc与g++,makefile/make
  • Halcon 算子-承接车牌识别
  • FPGA标准库-Open Logic
  • 376_C++_云透传,板端负责处理透传数据的API函数,用于实现客户端对设备内部接口的访问(VMS把数据直接传给板端内部)
  • 音频3A测试--AGC(自动增益)和NS(降噪)测试
  • 如何学做网站平台/附近广告公司联系电话
  • 直播类网站开发/百度网站排名查询工具
  • 企业建立自己网站主要方式/广州网络seo优化
  • 辽宁省建设厅安全员考试官方网站/市场营销的策划方案
  • 做PPT的网站canva/网络营销做得好的企业有哪些
  • 做爰网站名称/百度seo营销