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

【十字链表,邻接多重表(无向图的另一种链式存储结构),图的遍历】

文章目录

  • 十字链表
  • 邻接多重表(无向图的另一种链式存储结构)
  • 图的遍历

在这里插入图片描述

十字链表

方便找到入度和出度边。
在这里插入图片描述
顶点结点:
data:顶点存放的数据域。
firstin:第一个入度边。
firstout:第一个出度边。
弧度结点:
tailvex:尾结点。
headvex:头结点。
在这里插入图片描述
建立十字链表的步骤:
①先找结点的出度,例如a的出度有b,c。所以a的最后一个firstout指针域指向出度结点,因为结点是从下标为0到1,2所以表示为如图。
②找到结点的出度:例如a结点的入度就是d,c。所以就是从下标为2到0,3到0.表示如图。
③按照以上两个步骤进行查看剩下的顶点结点。最后形成的图就是十字链表。

邻接多重表(无向图的另一种链式存储结构)

在这里插入图片描述
在这里插入图片描述

图的遍历

从已知连通图中的某一顶点出发,沿着一些边访遍图中的所有顶点,使每一个顶点仅被访问一次,叫做图的遍历,它是图的基本运算。
遍历实质:找每一顶点的邻接点的过程。
图的特点:
图中可能存在回路,且图的任一顶点都可能与其它顶点想通,在访问完某个顶点之后可能会沿着某些边又回到曾经访问过的顶点。
怎样避免重复访问?
解决思路:
设置辅助数组visited[n],用来标记被访问过的顶点。

  • 初始状态visited[i]为0;
  • 顶点i被访问,改visited[i]为1,防止被多次访问。

图常用的遍历:

  • 深度优先搜索(Depth_First Search----DFS)
  • 广度优先搜索(Width_First Search----WFS)
    在这里插入图片描述

http://www.kler.cn/news/135615.html

相关文章:

  • 代码随想录算法训练营第13天|● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结
  • 三种爱心代码html(文本文档即可实现)
  • 又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
  • 企业级SSD还是一个巨大的蓝海~
  • NAS层协议栈学习笔记
  • Redis非关系型数据库
  • Elasticsearch同义词最佳实践
  • 软件测试入门很容易,但想要深造就还是要费功夫
  • Python 自动化(十八)admin后台管理
  • C++学习 --pair
  • AIGC 技术在淘淘秀场景的探索与实践
  • JUnit 单元自动化
  • 计算机毕业设计 基于SpringBoot的企业内部网络管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 五、hdfs常见权限问题
  • 二次开发库Demo【C#】
  • YOLOv8 加持 MobileNetv3,目标检测新篇章
  • 微信浏览器自动播放音频(兼容Android和iOS)
  • BP神经网络原理与如何实现BP神经网络
  • 如何找到自己的兴趣和擅长,并以此为职业?
  • Windows SDK
  • 浅析ChatGPT中涉及到的几种技术点
  • 【DevOps】Git 图文详解(五):远程仓库
  • Vue 2.0中引入的类型检查Flow
  • 消息中间的应用场景
  • Jenkinsfile+Dockerfile前端vue自动化部署
  • linux nas
  • 《向量数据库指南》——2023云栖大会现场,向量数据库Milvus Cloud成关注焦点
  • Android VSYNC发展历程
  • 新中新身份证阅读器驱动下载sdk DKQ-A16D
  • 竞赛 题目:基于大数据的用户画像分析系统 数据分析 开题