【软考】9.4 图的概念/存储/遍历/最小生成树/拓扑/查找

news2025/1/24 4:54:34

《图》

在这里插入图片描述

  • 图的存储(顶点和边)
  • 邻接矩阵:适合边数较多的图,不易造成浪费
  • 无向图:不分方向;对称矩阵
    在这里插入图片描述
  • 邻接链表:顶点,边——>(编号,权值);无值为空“∧”
    在这里插入图片描述
  • 邻接链表顶点的表结点 ——> 出度
  • A[ i ] [ j ] 等于1或0 ——> i 和 j 之间存在弧
  • e 条弧,有向图则有 e 个非零元素(i ——> j),无向图则有 2e 个(i ——> j;j ——> i)
    在这里插入图片描述
  • 图的遍历
  • 图的遍历序列不唯一,树的遍历序列唯一
  • 深度优先遍历:某一顶点出发,遍历到底(下层),再返回
  • 广度优先遍历:某一顶点出发,访问所有邻接顶点(同层),遍历到底——>层次遍历
    在这里插入图片描述
  • 图的最小生成树
  • n个节点,图的最小生成树有 n -1 条边,不能形成环——>形成树,边的权值之和最小
  • 普里姆算法:
  • 从顶点出发,依次寻找权值最小的邻接边
  • 时间复杂度为O(n^2)
  • 与图的边数无关;适用于边稠密的最小生成树
  • A(1,5,6)——> AC(4,5,6)——> ACF(2,5,6)——> ACFD()——> ACFD B(3,6)——> ACFDB E()
    在这里插入图片描述
  • 克里斯卡尔算法:
  • 从边出发,依次寻找权值最小的邻接边
  • 时间复杂度为O(eloge)
  • 与图的顶点数无关;适用于边稀疏的网的最小生成树
  • AC(1)——> DF(2)——> BE(3)——> CF(4)——> BC(5)
    在这里插入图片描述

在这里插入图片描述

  • 拓扑序列
  • 找到在图里面按照顺序执行的序列,不依赖于其他事务;类似进程的前趋图原理
  • 删除入度为0的节点及与其相关的有向边
  • 序列不唯一
    在这里插入图片描述
    在这里插入图片描述

《顺序查找》

  • 从头到尾查找,符合返回,否则失败
    在这里插入图片描述

《折半查找》

  • 只适用于待查找序列中的元素是有序排序的情况
  • 每次查找取中间值,舍弃上次中间值序列
  • 中间值为小数时,要向下取整
    在这里插入图片描述

《哈希表》

  • Hash(key)= key mod 表长
  • 一个地址只能存储一个记录
    在这里插入图片描述
  • 哈希函数产生冲突解决方法
  • 多个关键字执行同一个哈希函数时,产生相同的地址/结果,则产生了冲突
  • 线性探测法:执行后取得的地址依次+1,直到可存储到尚未存储关键字的哈希地址中;
    在这里插入图片描述
  • 只有 [ 0,10 ],没有11,则形成了一个环,则 65 的哈希地址 10 + 1 ——> 0
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二维数组的行指针与列指针

二维数组的行指针与列指针 笔记来源:懒猫老师-C语言-用指针访问二维数组(指针与二维数组) 声明:本文笔记来自bili懒猫老师,仅供学习参考 回顾一维数组 int a[3];//其中a或a[0]是数组首地址 //a1指向第二个元素的地址…

The SDK location is inside Studio install location 解决

The SDK location is inside Studio install location 解决 安装 Android Studio SDK 时提示:The SDK location is inside Studio install location 解决 问题: 由于 SDK 与 编辑器(Android Studio)的安装在同一目录下所以报错。 解决 你需要在 Andro…

五、RocketMQ发送顺序消息

顺序消息的应用场景 在有序事件处理、撮合交易、数据实时增量同步等场景下,异构系统间需要维持强一致的状态同步,上游的事件变更需要按照顺序传递到下游进行处理。 例如需要保证一个订单的生成、付款和发货,这三件事情是被顺序执行的。 如…

C# OpenVINO Det 物体检测

效果 耗时 elephant:89% Preprocess: 0.00ms Infer: 47.21ms Postprocess: 11.63ms Total: 58.84ms 项目 代码 using OpenCvSharp; using Sdcb.OpenVINO; using Sdcb.OpenVINO.Natives; using System; using System.Diagnostics; using System.Drawing; using System.Text; …

淘宝店铺订单详情接口,淘宝店铺订单列表数据,淘宝店铺订单物流接口,淘宝店铺订单线下发货接口-

淘宝店铺订单详情接口可以理解为淘宝开放平台(Taobao Open Platform)提供的API接口1。 该接口可以获取淘宝店铺的订单详情,包括订单号、买家昵称、收货人姓名、收货地址、邮编、电话、商品描述、价格等信息。开发者可以在淘宝开放平台注册一…

使用winUSB进行USB开发

什么是winUSB WinUSB是Windows操作系统提供的一种通用USB驱动程序,用于简化USB设备的开发和使用。它是一个用户模式驱动程序,可以在Windows XP及更高版本的操作系统上使用。WinUSB提供了一组API和工具,使开发人员能够与USB设备进行通信&…

C++11可变参数模板

文章目录 1.可变参数模板的介绍1.1C语言中的可变参数1.2C98/C11的类模板和函数模板1.3可变参数的函数模板1.4展开参数包递归展开初始化列表展开 2.可变参数模板的应用 1.可变参数模板的介绍 1.1C语言中的可变参数 1.2C98/C11的类模板和函数模板 C98/03,类模版和函…

Numpy(一)简介与基本使用

Numpy(一)简介与基本使用 一、Numpy简介 1.Numpy是一个运行速度非常快的数学库,主要用于数组计算 2.包含:N维数组对象ndarray、广播功能函数、整合C/C/Fortran代码工具、包含线性代数/傅里叶变换/随机数生成等功能 3.优点&…

ChatGPT快速入门

ChatGPT快速入门 一、什么是ChatGPT二、ChatGPT底层逻辑2.1 实现原理2.2 IO流程 三、ChatGPT应用场景3.1 知心好友3.2 文案助理3.3 创意助理3.4 角色扮演 一、什么是ChatGPT ChatGPT指的是基于GPT(Generative Pre-trained Transformer)模型的对话生成系…

python字典、列表排序,从简单到复杂

因工作原因,需要频繁对python字典(dict)、列表(list)等进行各种各样的排序,发现网上这块的资料又多又杂,尤其涉及到lambda的,让人觉得难以理解看不下去,因此写了这篇文章,从简单到复杂,配合例子…

【Eclipse】安装教程

首先打开官网:Eclipse Downloads | The Eclipse Foundation 这里我选择了下载最新版本 下载好后,双击下载的文件 ,即可进入到安装页面 点击第一个进行安装: 最后安装成功! 补充: 【Eclipse】安装JAVA EE插…

Jmter接口网站压力测试工具使用记录

1.首先下载Jmeter 官方地址:Apache JMeter - Apache JMeter™ 回到顶部 2.安装Jmeter 把下载的文件进行解压,产生如下目录: 打开bin文件夹下的jmeter.bat文件及进入程序的主界面窗体jmeter.log是日志文件。 主意:需要配置java环…

河北专升本(C语言)

目录 一:C语言的构成特点 二: 数据类型 三: 常量、变量、运算符及表达式 (一)标识符 (二)常量 (三)变量:其值可以改变的量 (四)各种类型数据混合运算 &…

打印编译程序固件的环境信息

在编译程序固件的时候,我们常常会有一个软件版本号,用来区分不同的版本,有时候又没变化软件版本号,重新发两个debug版本给测试验证,那我们就需要在程序中埋入一些环境信息,下面有两种方法来加入一下简单的信…

APP 备案公钥、签名 MD5、SHA-1、SHA-256获取方法。

公钥和 MD5 值可以通过安卓开发工具、Keytool、Jadx-GUI 等多种工具获取,最简单的就是以 jadx-gui 为例。 1.下载 jadx-gui 工具 ,点击此处 下载 jadx-gui 工具。 2.下载完成后,解压压缩包,双击 jadx-gui-1.4.7.exe 运行。 3.…

Neo4j入门基础:CREATE,DELETE,SET,REMOVE(看不懂我直接吃...)

1. 创建节点 1.1 创建一个节点 create (s:student1)创建一个标签为student1的节点 1.2 创建多个节点 create (s2:student2),(s3:student3)同时创建两个节点,标签分别为:student2,student3 1.3 创建节点并附带(多个&#xff0…

MAC上设置IDEA如何一个窗口打开多个项目,多个tab

1、IDEA一个窗口打开多个项目 如果你打开了多个项目、每次切换都要半天,想让项目都汇聚到top栏 点击 Window - Merge All Project Windows 即可 但是这样比较挫,每次打开新的项目都还是会重新打开一个IDEA窗口 so,如何设置项目在同一个窗口…

树模型(一)孤立森林

孤立森林(Isolation Forest)算法是西瓜书作者周志华老师的团队研究开发的算法,一般用于结构化数据的异常检测。 异常的定义 针对于不同类型的异常,要用不同的算法来进行检测,而孤立森林算法主要针对的是连续型结构化…

Junit单元测试之Maven项目集成Jacoco,查看覆盖率报告

关于单元测试以及本文Calculate类等内容,请见前述文章Junit单元测试_Joy T的博客-CSDN博客 要学Jacoco,首先要知道测试覆盖率是什么! 测试覆盖率 测试覆盖率表示的是测试用例所能触及(或“覆盖”)的代码百分比。换句…

2023年起重信号司索工(建筑特殊工种)证考试题库及起重信号司索工(建筑特殊工种)试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年起重信号司索工(建筑特殊工种)证考试题库及起重信号司索工(建筑特殊工种)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特…