【数据结构】查找(一)

news2024/11/14 13:59:48

因为时间关系(现阶段来不及),先不学红黑树和B树,所以这是查找(一)。
先写一下二分查找,数据结构数上叫的“折半查找”。

二分查找

左闭右闭区间

在这里插入图片描述

左闭右开区间

在这里插入图片描述

下面依旧是对王道书上选择题的一个简单纠错(摸鱼),希望6.10能写完查找部分,6.11写完排序部分

顺序查找和折半查找

1.(B)

这里是引用

对于顺序查找,每个元素查找成功需要比较的次数只与其位置有关,与序列是否有序没半毛钱关系

2.(A)计算错误

这里是引用

3.折半查找过程对应的判定树是平衡二叉树

4.(A)(B)

这里是引用

次数最少的情况就是很正常的每次除以2,统计最后到1的次数
次数最多的情况,用公式就是:
H=[log(n+1)]以2为底

5.(A)(D)

这里是引用

折半查找的判定树怎么画
在这里插入图片描述
6.(B)

这里是引用

用公式ASL=(s^2+2s+n)/2s

7.(A)暂时不是很懂答案怎么想出来的

这里是引用

这里是引用

二叉排序树

定义

在这里插入图片描述

查找

非递归法(最坏空间复杂度O(1))

在这里插入图片描述

递归法(最坏空间复杂度O(h))

在这里插入图片描述

插入

在这里插入图片描述

构造

在这里插入图片描述
二叉树的构造也是用的递归,按顺序,第一个元素作为根节点,之后按照小于根节点的在左子树,大于根节点的在右子树的递归原则,递归下去

删除

要删除的结点有三种情况

  • 只有左子树
  • 只有右子树
  • 左右子树都有

查找效率

  • 最优:O(logn),以2为底
  • 最差:O(n)

平衡二叉树

选择题的重点是如何调整成平衡二叉树
先不管什么左旋右旋,只要记得顶点旋转后的位置,剩下的按照中序遍历的序列去写

RR

在这里插入图片描述
A左下旋转,B左上旋转

RL

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

LL

RR

在这里插入图片描述

平衡二叉树的删除

删完了之后为了保持平衡,主要还是遵循上图的规则,王道PPT上面都有写,我也跟着浅写了一遍,也不是非常非常重要的部分

选择题错题

这里是引用

二叉排序树的查找过程:

  • 先查找根结点 若相同则结束
  • 否则根据比较结果,沿着左子树或者右子树继续向下找
    在这里插入图片描述
    2.(C)

这里是引用

当插入的关键字有序时,二叉排序树会形成一个长链,此时深度最大
3.(D)

这里是引用

含有20个结点的平衡二叉树的最大深度为6

使用平衡二叉树结点的递推公式,构造5层平衡二叉树最少要12个结点,构造6层要至少20个
5.(A)

这里是引用
这里是引用

6.(B)

这里是引用

所有非叶结点的平衡因子均为1,说明平衡二叉树满足最少结点的情况
用递推公式得20个结点
7.

这里是引用

这里是引用

8.(D)

这里是引用

画图
9.(D)

这里是引用

平衡二叉树是一种高度平衡的二叉树,二叉排序树的中序序列是一个升序序列,题中说的是降序序列
(A)只有两个结点的平衡二叉树根结点的度为1
(B)树中最大元素一定无右子树,可能有左子树,所以不一定是叶结点
(C)最后插入的元素可能导致平衡调整,而该元素不一定是叶结点,有时候还是根结点
10.(A)

这里是引用

太难了,隔行如隔山,这很难评,这分在我这基础阶段是不要了
在这里插入图片描述

散列选择题纠错

只能在顺序存储结构上进行查找的方法是折半查找法

12.(A)

这里是引用

  • 同义词冲突不等于聚集

  • 链地址法处理冲突时将同义词放在同一个链表中,不会引起聚集现象

这里是引用
在这里插入图片描述

采用开放地址解决冲突的散列查找中,发生聚集的主要原因是解决冲突的方法选择不当

15.(A)(C)

这里是引用

H的取值有17种可能,对应到不同的链表中,所以链表的个数为17。H(key)的取值范围为0-16,所以数组下标为0-16

16.(A)

这里是引用

错因:画图画错了
在这里插入图片描述
17.(D)

这里是引用
在这里插入图片描述

用散列方法处理冲突时可能出现堆积(聚集)现象,平均查找长度会受堆积现象直接影响

19.注意求ASL(失败)的方法

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

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

相关文章

突破竞争壁垒:独立站如何实现有效的品牌差异化?

在当今竞争激烈的电商市场中,独立站已经成为了越来越多品牌的选择。然而,要想在这个竞争激烈的环境中脱颖而出,建立起独特的品牌差异化是至关重要的。品牌差异化是一种战略方法,旨在突出品牌在市场上的独特性和独有价值&#xff0…

Java阶段四Day02

Java阶段四Day02 文章目录 Java阶段四Day02VueCli嵌套路由总结项目开发开发流程关于项目项目分析数据库的设计规范(基于阿里巴巴Java开发手册)数据库表设计创建项目关于依赖项关于<build>报错 VueCli嵌套路由 由于Vue Cli工程是单页面的&#xff0c;为了保证能显示各式各…

如何实现不同服务器之间 大规模数据同步?

随着企业结构分散化的不断扩大&#xff0c;企业的数据中心、服务器节点、异地分支机构之间&#xff0c;会存在多种文件交换场景。传统的FTP、rsync、网盘等传输方式在数据体量较小、时效性要求不高的情况下&#xff0c;基本也可以满足需求。 但随着数量爆发式增长&#xff0c;需…

大二下学期期末总结

文章目录 针对学习方面大学生就业指导与创业教育数据结构Java企业级开发大数据实时处理大数据可视化服务器技术 针对生活方面针对课外活动方面 针对学习方面 大学生就业指导与创业教育 这门课很好的帮我们分析了目前的就业形势&#xff0c;预测了未来的就业前景&#xff0c;为…

庆祝牛学长4周年!精彩折扣活动等你来享!

值此周年庆之际&#xff0c;我们衷心感谢您对我们的支持与信任。为了回馈广大用户的厚爱&#xff0c;我们特别推出一系列令人振奋的打折活动&#xff0c;让您在软件购买和使用过程中获得更多实惠和便利。 活动时间&#xff1a;从即日起&#xff0c;至2023年6月26日 活动链接&…

接口测试开发之:一篇搞懂 Cache、Cookie及Session。

目录 1、引言 2、Cache 2.1 缓存定义 2.1.1 缓存概念 2.1.2 缓存优点 2.2 浏览器缓存 2.2.1 存储路径 2.2.2 缓存优点 2.2.3 缓存弊端 2.2.4 原理图 2.3 代理缓存 2.3.1 原理 2.3.2 应用场景 2.3.3 原理图 2.4 网关缓存 2.4.1 原理 2.4.2 缓存分类 2.4.3 缓存…

uniapp uview2.0 其中u--textarea组件无法换行,换行无效问题解决方案

最终发现是因为默认值的问题&#xff0c;uniapp和uview的官方文档写的confirmType的默认值都是done&#xff0c;但是uniapp的textarea在没有配置的情况下是没有值的&#xff0c;uview给加了一个默认值done&#xff0c;就出现了无法返回的问题&#xff0c;尝试了将uview的textar…

qt样式表qss选择器

目录 1、通用选择器 2、类型选择器&#xff08;类和子类&#xff09; 3、类选择器 4、ID选择器 5、子孙后代控件选择器 6、子后代控件选择器 7、属性选择器 7.1 静态属性 7.2 动态属性 8、子控件选择 9、伪状态选择 在开始之前&#xff0c;先要区分3个概念&#xff1…

Android MediaPlayer多次Seek产生杂音优化

前言 MediaPlayer 作为Android自带的Player目前还是存在很多不好使用问题&#xff0c;但实际开发中&#xff0c;还是有不少使用场景&#xff0c;本文针对多次seek产生杂音的问题进行分析讨论&#xff0c;自己遇到了进行记录&#xff0c;目前底层也不好解决和轻易改动原生代码&…

2020年CSP-J认证 CCF非专业级别软件能力认证第一轮真题-单项选择题解析

2020 CCF认证第一轮&#xff08;CSP-J&#xff09;真题 一、单项选择题 (共15题&#xff0c;每2分&#xff0c;共30分;每题有且有一个正确选项&#xff09; 1、在内存储器中每个存储单元都被赋予一个唯一的序号,称为 A、下标 B、序号 C、地址 D、编号 答案&#xff1a;C…

当618成“抢人大战”,知道“怎么抢”才能“抢得到”

文 | 螳螂观察 作者 | 易不二 今年618对很多平台来说都意义非凡。 尤其是最具主场优势的阿里、京东而言&#xff0c;更是一场硬仗&#xff1a;阿里“16N”组织架构调整后&#xff0c;淘天的第一次大促&#xff0c;且还恰逢也淘宝20周年&#xff1b;京东换帅、CEO许冉第一次接…

华为OD机试真题 Java 实现【素数伴侣】【2023 B卷 100分】,附详细解题思路

一、题目描述 若两个正整数的和为素数&#xff0c;则这两个正整数称之为“素数伴侣”&#xff0c;如2和5、6和13&#xff0c;它们能应用于通信加密。现在密码学会请你设计一个程序&#xff0c;从已有的 N &#xff08; N 为偶数&#xff09;个正整数中挑选出若干对组成“素数伴…

13.常用类|Java学习笔记

文章目录 包装类包装类型和String类型的相互转换Integer类和Character类的常用方法Integer创建机制&面试题 String类创建String对象的两种方式和区别字符串的特性String类的常用方法 StringBuffer类String和StringBuffer相互转换StringBuffer常用方法 StringBuilder类Strin…

Java实训日志01

文章目录 一、安装录屏软件&#xff08;一&#xff09;下载软件&#xff08;二&#xff09;安装软件 二、使用录屏软件三、安装XMind软件&#xff08;一&#xff09;下载XMind软件&#xff08;二&#xff09;安装XMind软件 四、创建思维导图&#xff08;一&#xff09;启动XMin…

如何评价广告营销效果

广告营销的目的 广义上的营销&#xff0c;2个主要目的&#xff1a;达成销售和建设品牌&#xff0c;其实后者的终极目的还是前者。销售是短期达成&#xff0c;品牌建设是长期管理。 广告是营销的一部分&#xff0c;广告的效果评估也应该从目的出发探寻方法。 网络广告的特性 网…

2023Fiddler学习笔记 -- 状态栏及辅助选项卡

接上节课内容 2023Fiddler抓包学习笔记 -- 环境配置及工具栏介绍 2023Fiddler抓包学习笔记 -- 如何在会话窗口添加ip列 一、状态栏 1、上面黑色的框框&#xff0c;可以输入相关命令实现操作&#xff0c;比如&#xff1a;bpu baidu&#xff0c;只要url里包含baidu的网站都会被…

Socket 传情:用 Python 编织 TCP 网络

文章目录 参考描述TCP 服务器端与 TCP 客户端通信的基本流程服务器端客户端 使用 socket 实现 TCP 服务器端实现监听套接字socket.socket()Socket().bind()IP 地址的选择本地回环地址某一特定 IP 地址空字符串 Socket().listen()监听套接字的实现 实现连接套接字Socket().accep…

【I2C】Linux使用GPIO模拟I2C

文章目录 1. I2C GPIO系统架构简介2. 如何使能I2C GPIO驱动2.1 config配置2.2 dts配置2.3 测试验证 3. 简单分析i2c-gpio.c驱动3.1 解析设备树3.2 配置SDA和SCL3.3 注册到i2c-algo-bit.c 4. 简单分析i2c-algo-bit.c驱动4.1 提供I2C通信时的算法4.2 注册Adapter 5. 参考资料 1. …

翻车了,被读者找出 BUG

大家好呀&#xff0c;我是小楼。 本文是上篇文章《使用增强版 singleflight 合并事件推送&#xff0c;效果炸裂&#xff01;》的续集&#xff0c;没看过前文必须要先看完才能看本文&#xff0c;实在不想看&#xff0c;拉到文章末尾&#xff0c;给我点个赞再退出吧~Doge 上篇文…

如何进行App性能测试?SoloPi是最佳选择!

目录 引言 SoloPi简介 SoloPi特点 SoloPi的主要功能 下载SoloPi 安装SoloPi 使用SoloPi进行性能测试 性能数据查看与记录 环境加压 响应耗时计算工具 注意事项 Solopi提供的各项性能指标介绍 引言 大家好&#xff01;我是凡哥。 今天我想跟你们分享一下如何进行A…