王道考研数据结构第七章知识点总结

news2024/11/25 12:39:48

7.1 查找的基本概念

 注:查找表并不是一种新的数据结构,它只是对于你需要查找的一类数据结构的一类统称而已

 7.2.1 顺序查找

 

 

 注:学会画查找判定树 

7.2.2 折半查找(模拟算法流程详见课件)

 实现流程:略,见王道课件

 mid如果向上取整的话什么情况?

7.2.3 分块查找(模拟流程详见课件)

 7.3.1 二叉排序树(模拟流程详见课件)

7.3.2 平衡二叉树(模拟算法流程详见课件)

注意:BST(Binary Sort Tree)是二叉排序树,AVL(Balanced Binary Tree)是平衡二叉树,不要与ASL(Average Search Length)平均查找长度混淆

为什么要假定所有子树的高度为h:为了讨论最小不平衡子树出现的情况刚好出现在A节点。

7.3.3 平衡二叉树树的删除(具体删除实例详见课件)

注:如果出现个头一样的孙子,那么选择任意一个进行旋转都可以。

注:选择前驱进行替代还是后继替代也是根据题目要求或者自身需求设定,没有强制要求。

注:删除操作和插入操作在调整树的时候都是根据孙子节点所处的位置进行调整的。

 

 7.3.4 红黑树RBT(Red-black Tree)的定义和性质(详见课件)

注意:红黑树中的叶节点指的并不是最下层的节点,而是NUll节点

红黑树口诀:

1.左根右(左子树<根 < 右子树)

2.根叶黑(根节点,叶节点必须是黑色的)

3.不红红(不存在两个相连的红节点)

4.黑路同(任意节点出发,走到叶节点经历的黑节点数目一定是相同的)

 

 7.3.5 红黑树的插入(详见课件)

注:为什么插入非根节点的时候我们要先染红色呢?这么做的原因是要保证黑路同的特性,如果刚开始涂成黑色就会导致新插入节点的路径黑节点多一个,不满足红黑树的定义。

注:判断属于什么类型是从爷节点开始判断的。

注:黑叔中染色:交换的节点原本是红的变为黑的,原本是黑的变为红的。

注:红叔中染色:原本的爷节点视为新节点,是为了如果不是新节点需要继续向上迭代处理,如果是根节点则染为黑色。

注:插入一个新节点之后,破坏的都是不红红这一特性。

注:最后一个18这里规定往后边走

注:内部节点数(带关键字的节点),不包含外部节点(即NULL节点)

 

 7.3.6 红黑树的删除

7.4.1 B树

 

 

 

 

 

 

 

 

 

 

 7.4.2 B树的插入和删除(详见课件)

7.4.3 B+树

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 注意:B+树的阶更大意思就是:分支数更多

 7.5. 散列查找(详见课件)

注意:哈希映射是对小于表长的最大质数取模,而线性探测法是对表长进行取模。

注意:开放定址法删除元素的时候是进行标记(逻辑上的删除)而不是直接清空

 

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

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

相关文章

Java项目查询统计表中各状态数量

框架&#xff1a;SpringBoot&#xff0c;Mybatis&#xff1b;数据库&#xff1a;MySQL 表中设计2个状态字段&#xff0c;每个字段有3种状态&#xff0c;统计这6个状态各自的数量 sql查询语句及结果如图 SQL&#xff1a; SELECT SUM(CASE WHEN A0 THEN 1 ELSE 0 END) AS A0…

普华(Autosar OS开发)第一部分

普华灵智基础软件平台产品手册 一、基本情况 普华基础软件自2009年起深耕AUTOSAR车用基础软件领域,作为AUTOSAR组织高级合作伙伴,拥有强大的AUTOSAR专业技术团队。普华基础软件为国内各大OEM整车厂和主要的零部件供应商提供基于AUTOSAR标准的国产化汽车电子基础软件平台、开…

Linux内核结构与特性简介

系统调用接口&#xff1a;位于最上层&#xff0c;实现了一些基本的功能&#xff0c;如read和write等系统调用。这是用户空间程序与内核交互的接口&#xff0c;提供了对内核功能的访问。 内核代码&#xff1a;位于系统调用接口之下&#xff0c;可以看作是独立于体系结构的通用内…

Excel之VLOOKUP()函数介绍

Excel之VLOOKUP()函数介绍 Excel的VLOOKUP函数语法&#xff1a; VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) 参数说明&#xff1a; lookup_value&#xff1a;要查找的值或要比较的值。 table_array&#xff1a;包含要在其中进行查找的数据表的区…

电力载波与485抄表哪个抗干扰能力强

随着物联网技术的不断发展&#xff0c;自动化抄表系统已经逐渐替代了传统的手工抄表方式。其中&#xff0c;电力载波和485抄表是两种常见的自动化抄表方式。本文将从抗干扰能力的角度出发&#xff0c;对比两种抄表方式的优缺点&#xff0c;探讨哪种抄表方式更具优势。 一、电力…

东方通信基于 KubeSphere 的云计算落地经验

作者&#xff1a;周峰 吴昌泰 公司简介 东方通信股份有限公司&#xff08;以下简称“东方通信”&#xff09;创立于 1958 年&#xff0c;是一家集硬件设备、软件、服务为一体的整体解决方案提供商。公司于 1996 年成功改制上市&#xff0c;成为上海证交所同时发行 A 股和 B 股…

听GPT 讲K8s源代码--pkg(六)

pkg/kubelet/cm 目录是 Kubernetes 源代码中的一个目录&#xff0c;包含了 kubelet 组件中的 ConfigMap 相关代码。 在 Kubernetes 中&#xff0c;ConfigMap 是一种用于存储非机密数据的 API 对象类型&#xff0c;它可以用来存储配置信息、环境变量、命令行参数等等。 kubelet …

【人工智能】xAI——“X宇宙”又增添了一位新成员

个人主页&#xff1a;【&#x1f60a;个人主页】 &#x1f31e;热爱编程&#xff0c;热爱生活&#x1f31e; 文章目录 前言xAI团队成员做解开宇宙本质的AI 前言 有人问他&#xff0c;xAI公司是干啥的&#xff1f;马斯克的回答引用了其偶像、科幻作家道格拉斯・亚当斯的话&…

哇~真的是你呀!今天是LINUX中的RSYNC服务

目录 前言 一、概述 二、特性 三、rsync传输模式 四、rsync应用 五、格式 六、配置文件 七、守护进程传输 八、rsyncinotfy实时同步 一、概述 rsync是linux 下一个远程数据同步工具;他可通过LAN/WAN快速同步多台主机间的文件和目录&#xff0c;并适当利用rsync 算法减少数据的…

[读论文]---On Distillation of Guided Diffusion Models

该论文解决的问题 1 简要描述 2 在之前的工作中存在下述问题 计算过程需要计算: 1 unconditional的unet 2 conditional(w text)的unet 下图展示了计算过程 对应的代码 pipelines-> stable_diffusion-> pipline_stable_diffusion.py-> StableDiffusionPipeling-> 7…

vue-cli多页面配置(vue2.0)

目录 概述 多页面的配置 步骤1&#xff1a;编写配置文件 vue.config.js 步骤2&#xff1a;在src目录下创建目录pages 步骤3&#xff1a;创建HTML文件&#xff08;主组件挂载点&#xff09; 测试 完毕&#xff0c;总结 概述 我们知道使用vue脚手架vue-cli创建的项目默认是…

Python 集合 add()函数使用详解,集合添加元素

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;小白零基础《Python入门到精通》 add函数使用详解 1、元素的顺序2、可以添加的元素类型3、添加重复的元素4、一次只…

TRT4-trt-integrate - 1 YOLOV5导出、编译、推理

模型导出 修改Image的Input动态维度 首先可以看到这个模型导出的时候Input有三个维度都是动态&#xff0c;而我们之前说过只需要一个batch维度是动态&#xff0c;所以要在export的export onnx 进行修改&#xff0c;将 torch.onnx.export(model, im, f, verboseFalse, opset_ver…

百度翻译申请KEY和ID

1.进入百度翻译网址:https://api.fanyi.baidu.com/ 2.右上角登录账号 3.跟着点点点 填写申请信息&#xff0c;剩下不用写 4.跳转到https://api.fanyi.baidu.com/api/trans/product/desktop 在底部查看KEY和ID

每日一题2023.7.19|ACM模式

文章目录 C的输入方式介绍cin>>cin.get(字符变量名)cin.get(数组名,接收字符数目)cin.get()cin.getline() getline()gets()getchar() AB问题|AB问题||AB问题|||ABⅣAB问题ⅤAB问题Ⅵ C的输入方式介绍 参考博客 cin>> 最基本&#xff0c;最常用的字符或者数字的输…

产品管理必备工具:选择最适合你的工具,让产品管理更高效!

Zoho Projects是一个能够帮助企业组织高效研发工作、快速推向市场并赢得用户青睐的有效工具。通过以下六个步骤&#xff0c;企业可以最大化地利用Zoho Projects&#xff0c;实现高效的产品研发和运营。 第一步&#xff1a;规划产品路线 在甘特图上勾画产品路线图&#xff0c;为…

STM32单片机示例:多个定时器同步触发启动

文章目录 前言基础说明关键配置与代码其它补充示例链接 前言 多个定时器同步触发启动是一种比较实用的功能&#xff0c;这里将对此做个示例说明。 基础说明 该示例演示通过一个TIM使能时同步触发使能另一个TIM。 本例中使用TIM1作为主机&#xff0c;使用TIM1的使能信号作为…

OpenCv之图像直方图

目录 一、基本概念 二、使用OpenCv统计直方图 三、使用掩膜的直方图 一、基本概念 图像直方图是用一表示教字图像中亮度分布的直方图&#xff0c;标绘了图像中每个高度值的像素数。可以借助观察该有方图了解需要如何调整亮度分布的直方图。这种直方图中&#xff0c;横坐标的左…

Android 个人开发者如何接入广告SDK,实现app流量变现

接入广告的APP连接 大家可以下载看看&#xff08;无需积分&#xff09; 链接: https://download.csdn.net/download/qq_38355313/88063389 开屏广告示意图&#xff1a; 1.个人开发者如何添加广告SDK&#xff1f; 像大厂的广告SDK&#xff0c;比如穿山甲SDK&#xff0c;点广…

SpringMvc配置静态资源访问路径

文章目录 1. 整体流程2. registry.addResourceHandler()2.1 函数分析2.2 结果演示 3. ResourceHandlerRegistration.addResourceLocations()3.1 函数分析3.2 结果演示 1. 整体流程 1. 写一个配置类继承WebMvcConfigurationSupport 2. 利用 registry.addResourceHandler("…