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

左神算法基础巩固--4

文章目录

    • 图的表示
    • 图的遍历
      • 图的宽度优先遍历
      • 图的深度优先遍历
    • 解题


在面试中图的考察并不寻常,但并不是没有,所以我们也需要学习学习。
图的题目之所以会显得比较难其主要原因便是我们不知道如何正确表示一个图即用一个合适的数据结构将题目中出现的图正确的表示出来。接下来我便为大家介绍一个能适用于大部分常见场景的图的表示。

图的表示

在这个数据结构中主要分为两种一种是点集和边集
在这里插入图片描述
点集中的点主要包含点的值,点的入度,点的出度,点所指向的其他的点,点所指向的其他的点的边的信息
在这里插入图片描述
边集上的边则包括边的初始点,边的终止点,边的权值
在这里插入图片描述

图的遍历

在这里插入图片描述

图的宽度优先遍历

在这里插入图片描述

图的深度优先遍历

在这里插入图片描述

解题

在这里插入图片描述
这道题的重点在于找到入读为0的点,在将其输出的同时修改他所指向的所有的点的入度,不断循环直到,所有的点都输出过
在这里插入图片描述


在这里插入图片描述

kruskal算法是一种用来生成最小生成树的算法,其具体的思路在于,遍历所有的边,找到未选择的一条权值最小的边,在保证其在加入这条边后不会产生环的情况下,加入一个集合。
在这里插入图片描述


在这里插入图片描述
prim算法是一种用来生成最小生成树的算法,其具体流程为选定一个节点作为初始节点,遍历找到初始节点相邻的所有节点,选择边的权值最下的那条边,重复以上过程直到所有的节点都被链接。注意,在此过程中不可出现环。
在这里插入图片描述
在这里插入图片描述


在这里插入图片描述
djkstra算法是一种用来寻找单源最短路径的算法,其基于贪心策略,它在每一步都选择当前已知的最短路径,然后更新与该路径相连的其他顶点的距离。
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/472901.html

相关文章:

  • 《鸿蒙系统AI技术:筑牢复杂网络环境下的安全防线》
  • Mac中配置vscode(第一期:python开发)
  • Redis Java 集成到 Spring Boot
  • unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等
  • AnaConda下载PyTorch慢的解决办法
  • 高等数学-----极限、函数、连续
  • ESP32 IDF VScode出现头文件“无法打开 源 文件 ”,并有红色下划线警告
  • Docker 容器运行后自动退出的解决方案
  • MySQL 分库分表实战(一)
  • 无网络时自动切换备用网络环境
  • C++二十三种设计模式之迭代器模式
  • Python爬虫基础——XPath表达式
  • ffmpeg之h264格式转yuv
  • WEBRTC前端播放 播放器组件封装
  • 【Linux】深入理解文件系统(超详细)
  • 自动化执行 SQL 脚本解决方案
  • 十六、Vue 组件
  • 《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(26):数字签名
  • 【数据结构-堆】【二分】力扣3296. 移山所需的最少秒数
  • 牛客网刷题 ——C语言初阶(5操作符)——BC90 矩阵计算
  • 解决word桌面图标空白
  • UTTracker背景矫正模块详解:解决无人机追踪中的摄像头运动问题
  • Ruby语言的正则表达式
  • WebSocket 设计思路
  • 怎样用云手机进行海外社媒矩阵引流?
  • 【Linux】lnav - 适用于Linux和Unix的出色终端日志文件查看器