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

数据结构与算法(test3)

七、查找

1. 看图填空

查找表是由同一类型的数据元素(或记录)构成的集合。例如上图就是一个查找表。

期中(1)是______________. (2)是______________(3)是_____关键字_______。

2. 查找(Searching) 就是根据给定的某个值,  在查找表中确定一个其____________等于给定值的_______________。

3. 列出常见的三种查找算法:______________、______________、______________。

4. ___________又叫线性查找, 是最基本的查找技术,它的查找过程是: 从表中第一个(或最后1个)记录开始,

逐个进行记录的_________与给定值比较,一直到找到相等的记录,它的时间复杂度是_____________。

它对表中记录是否有序___________(有 / 没有)要求。

5. ___________又称为二分查找,它的前提是线性表中的记录必须是________________, 线性表必须采用__________存储。它的时间复杂度是_____________。

6. ___________查找,是把数据集的记录分成若干块,并且这些块需要满足两个条件:

(1). 块内的记录特点:____________________________________。

(2). 块间的记录特点:____________________________________。

7. 二叉排序树,又称为二叉查找树,它或者是一棵空树,或者是具有下列性质:

(1). 若它的左子树不空, 则左子树上所有结点的值均小于它的_____结点的值。

(2). 若它的右子树不空, 则右子树上所有结点的值均大于它的_____结点的值。

(3). 它的左、右子树也分别为_________树。

它的时间复杂度是________________.

8. 二叉排序树是以____________方式存储,这种存储结构在执行插入、删除时不用移动元素的优点。找到合适的插入、删除位置后,仅需要修改__________即可。

9. 散列技术是在记录的_________和它的__________之间建立一个确定的对应关系f, 使得每个_________对应一个存储位置f(key)。

查找时,根据这个确定的对应关系找到给定值key的映射 f(key), 若查找集合中存在这个记录,则必定在f(key)的位置上。

这里我们把对应关系f 称为_________函数,又称为______函数。

采用散列技术将记录存储在一块地址___________的存储空间中,这块连续的存储空间称为______表或_____表。关键字对应的记录位置我们称为_______地址。


10. 散列技术即是一种存储方法,也是一种查找方法,它的时间复杂度是________________。

11. 散列表查找,如果没有冲突,它的效率很高,它的时间复杂度是________。可惜,没有冲突的散列只是一种理想,在实际的应用中,冲突是不可避免的,他的平均查找性能,取决于以下3个因素。

(1) 散列函数的好坏直接影响着出现冲突的频繁程度,它的主要指标是_______________。

(2)处理冲突的方法____________________。

(3) 散列表的装填因子。请解释装填因子是什么_____________________________________。

12. 给定一个长度为n的整形数组 int data[n],  它的数据以按从小到大排序。请用折半查找法,

完成以下函数,要求: 如果查找到目标数据target,则返回所在位置的数组下标,否则返回-1.

int findIndex(int data[], int size, int target)

{

}


 


http://www.mrgr.cn/news/90190.html

相关文章:

  • Python 鼠标轨迹 - 防止游戏检测
  • 26~31.ppt
  • 前端布局与交互实现技巧
  • Linux:网络编程套接字及UDP
  • hadoop之MapReduce:片和块
  • Node.js中http模块(二)
  • MySQL主从同步+binlog
  • python学习目录
  • spring学习(druid、c3p0的数据源对象管理)(案例学习)
  • 【故障处理】ADG延迟 - MRP0状态为WAIT_FOR_LOG
  • vscode无法ssh连接远程机器解决方案
  • RK3588部署Deepseek R1模型(CPU+NPU)
  • DeepSeek Coder + IDEA 辅助开发工具
  • window 安装GitLab服务器笔记
  • 【虚幻引擎UE】AOI算法介绍与实现案例
  • Vue3 Ref全家桶深度解析:掌握响应式编程精髓
  • C++ ——从C到C++
  • 【蓝耘元生代智算云平台】一键部署 DeepSeek人工智能模型
  • 【前端】几种常见的跨域解决方案
  • Spark 源码 | 脚本分析总结
  • Spring Boot接入Deep Seek的API
  • 模拟(典型算法思想)—— OJ例题算法解析思路
  • C++设计模式 - 模板模式
  • 模拟算法:深入探讨与C++实现
  • [创业之路-289]:《产品开发管理-方法.流程.工具 》-15- 需求管理 - 第1步:原始需求收集
  • 深入理解MySQL索引底层数据结构