专业课-数据结构(第8章查找作业部分)

数据结构(查找)习题及答案 一、填空 1、顺序查找法等概率下查找成功时的平均查找长度为(),查找不成功时的比较次数为()。 2、对线性表进行折半查找时,要求线性表必须()。 3、设哈希表L长m=14,哈希函数H(key)=key%11,表中已...... ........ 五、设有3阶B-树如下,画出删除关键字值17的过程。     六、设哈希函数H(key)=key%13,用公共溢出区法处理冲突。试在0~19的散列地址空间中对关键字序列(19,01,23,14,55,20,84,27,68,11,10,77)造哈希表,并求等概率下查找成功时的平均查找长度。 ....... 立即下载

所用教材:
书名:《数据结构–用C语言描述(第2版)》
编者:耿国华;张德同;周明全等编著
出版社:高等教育出版社
P315页

2.编写一个函数,利用折半查找算法在一个有序表中插入一个元素x,并保持表的有序性。

#include<stdio.h>
#define Max 50
//有序表中数据类型 
typedef int KeyType;
//有序表 
typedef struct{
	KeyType elem[Max];
	int length;
}RecordList;
//折半查找并插入算法 
int BinSrch(RecordList *l,KeyType k){
	int i;											//查找 
	int low=1,high=l->length;
	int mid;
	while(low<=high){
		mid=(low+high)/2;
		if(k==l->elem[mid])	return(mid);
		else if (k<l->elem[mid])	high=mid-1;
		else low=mid+1;
	}//while
	for(i=l->length;i>=low;i--){					//插入 
		l->elem[i+1]=l->elem[i];	
	}//for
	l->elem[low]=k;
	l->length++;
}
//主函数 
int main(){
	RecordList L;
	int i;
	KeyType x;
	L.elem[0]=0;									//第一个数组元素不作使用
	printf("请输入原始有序表查长度:");
	scanf("%d",&(L.length));
	for(i=1;i<=L.length;i++){						
		printf("请输入有序表第%d个数据:",i);
		scanf("%d",&(L.elem[i]));
		getchar();
	}
	printf("所插入的数据为:");
	scanf("%d",&x);
	BinSrch(&L,x);
	printf("插入数据所得有序表为:");
	for(i=1;i<=L.length;i++){
		printf("%d ",L.elem[i]);
	}
}

在这里插入图片描述

12.选取哈希函数H(k)=(3k)%11,用线性探测再散列法处理冲突。试在0-10的散列地址空间中,对关键字序列(22,41,53,46,30,13,01,67)构造哈希表,并求等概率情况下查找成功与不成功时的平均查找长度。
上课只讲了查找成功平均查找长度:
通过查询了解了查找不成功平均查找长度
通过以下题目进行解释:
选取哈希函数H(k)=(3k)%11,用线性探测再散列法处理冲突。试在0-10的散列地址空间中,对关键字序列(22,41,53,46,30,13,01,67)构造哈希表,并求等概率情况下查找成功与不成功时的平均查找长度。
22: (22X3)%11=0
41: (41X3)%11=2
53: (53X3)%11=5
46: (46X3)%11=6

30: (30X3)%11=2
(2+1)%11=3

13: (13X3)%11=6
(6+1)%11=7

01: (01X3)%11=3
(3+1)%11=4

67: (67X3)%11=3
(3+1)%11=4
(3+2)%11=5
(3+3)%11=6
(3+4)%11=7
(3+5)%11=8
则得到:

012345678910
2241300153461367

ASLsucc=(1+1+1+1+2+2+2+6)/8=2
ASLsucc=查找次数总合/元素个数
ASLunsucc=(2+1+8+7+6+5+4+3+2+1+1)/11=40/11
解释一下这里:
假设有一个数,哎,取余之后等于0,应该放到0号地址里,但是里面有22了,那会怎么办呢,用线性探测散列(题目要求),(0+1)%11=1,这样放到1号地址就可以了。一共运算了2次才找到合适的位置。这就是第一个2的由来。
1的由来就是假设有一个数第一次取余之后为1,1号位置为空,正好可以放到里面。一共运算了1次才找到合适的位置。
8的由来就是假设一个数第一次取余之后为2,2号有数了,那么线性探测散列,(2+1)%11=3,但3号地址也有数了,那么(2+2)%11=4,但4号位置也有数了,继续线性探测散列,直到(2+7)%11=9,放到了9号位置里面。这样一共需要运算8次才找到。
后面的类推。
也就是说:当给某个数,它第一次取余之后的可能性为0-10,这不要紧,算出来每种情况下需要进行几次运算才能放到表里面就行,然后把所有运算次数相加,除以表的长度。

注意:
当发生冲突使用线性探测散列时,不需要再乘以系数,对于本题来说也就是不用再乘3了。

Chroma向量数据库实战:用Python快速搭建本地知识库(附中文诗词检索案例) 本文详细介绍了如何使用Chroma向量数据库和Python快速搭建本地知识库,并附有中文诗词检索的实战案例。通过解析核心概念、数据准备、向量化及智能检索实现,展示了Chroma在处理中文语义搜索时的轻量级与易用性,为开发者构建AI应用原型提供了实用指南。 阅读详情

相关推荐

基于DE2-115红外解码实验

基于DE2-115红外解码实验   一、   功能描述 在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型, 这样就要求信号按一定的编码传送,编码则会由编码芯片或电路完成。对应于编码芯片通常会有相配对的解码芯片或包含解码模块的应用芯片。在实际的产品设计或业余电子制作中,编码芯片并一定能完成我们要求的功能,这时我们就需要了解所使用的编码芯片到底是如何编码的。只有知道编码方式,我...

乘风的博客 2513

哈希表习题

选取哈希函数H(k)=(3k)%11,用线性探测散列法和二次探测再散列法分别处理冲突。试在0~10的散列地址空间中,对关键字序列(22,41,53,46,30,13,01,67)构建哈希表,并求等概率情况下查找成功的平均查找长度。 线性探测...

mez_Blog的博客 1万+

Lumerical INTERCONNECT 中的自相位调制 (SPM) 仿真实践指南

本文详细介绍了在Lumerical INTERCONNECT中进行自相位调制(SPM)仿真的实践指南。从SPM的基础物理原理出发,深入解析非线性薛定谔方程和克尔效应,到INTERCONNECT中NLSE波导元件的配置技巧,以及时域与频域中SPM效应的观测方法。文章还提供了常见问题排查和进阶联合仿真技巧,帮助用户高效完成从仿真到实测的校准过程。

weixin_42565652的博客 187

Hash

----哈希基本概念----    Hashing定义了一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来在数据库中建立索引并进行搜索,同时还用在各种解密算法中。  设所有可能出现的关键字集合记为U(简称全集)。实际发生(即实际存储)的关键字集合记为K(|K|比|U|小得多)。|K|...

weixin_33701564的博客 1607

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 831

SAP与泛微OA集成(半导体行业)

本项目通过SAP PO中间件集成SAP与泛微OA在半导体行业的应用,由于行业特殊性,广泛深入应用了RSA加密等特性

集信通 1162

哈希表的应用和哈希冲突解决方案分析

哈希 一般指哈希算法。英文Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函...

wuyang19920226的博客 1276

上网第二课:办了百兆宽带,为什么测速只有一半?

最慢的那一环。

qq_36765170的博客 106

[初赛]2019

在下列几种存储器中,访问速度最快的是()。A.硬盘 B.cache C.RAM D.寄存器 存取速度:寄存器(位于CPU内)>Cache>RAM>ROM>硬盘>优盘 ...

硫氯 1514

Linux中断子系统(二)—— 通用框架处理

1、数据结构分析 (1)中断描述符结构structirq_desc: 1)打开CONFIG_SPARSE_IRQ宏(中断编号不连续),中断描述符以radix- tree来组织,用户在初始化时进行动态分配,然后再插入radix-tree中; 2)关闭CONFIG_SPARSE_IRQ宏(中断编号连续),中断描述符以数组的 形式组织,并且已经分配好; 3)不管哪种形式,最终都可以通过linuxirq号来找到对应的中断描述符; (2)stru...

weixin_38428439的博客 4871

当启动容器的时候提示:exec format error?如何解决问题

Docker容器出现"exec format error"的主要原因是架构不兼容(如ARM设备运行x86镜像)。解决方案包括:1)匹配镜像与宿主机架构;2)构建时指定平台;3)安装QEMU模拟器;4)修复文件权限和格式;5)验证基础镜像兼容性。排查流程应从检查架构匹配开始,逐步验证权限、解释器和换行符等问题。建议优先使用多架构镜像,构建时明确指定平台,并使用buildx工具生成多平台镜像。调试时可进入容器手动验证文件格式和兼容性。

weixin_39291964的博客 2717

哈希查找-采用线性探测再散列的方法处理冲突

采用线性探测再散列的方法处理冲突

MAIN198的博客 1303

揭秘LLM如何预测下一个词

Transformer结构的大语言模型(LLM)通过自回归训练学习预测下一个词汇,其核心能力源自权重矩阵的动态优化。自注意力层的Wq/Wk/Wv矩阵捕捉语义关联,前馈网络的W1/W2矩阵进行非线性特征提取,LM Head的W_{lm}矩阵将语义映射到词汇概率。训练过程中,这些矩阵通过反向传播不断调整,最终使模型能够根据上下文(如"我"→"爱")生成合理的后续词汇。这种基于矩阵变换的数学机制是LLM智能生成文本的本质原因。(150字)

ZhangJiqun&191cm&85kg 376

计算机考研四门专业课是什么,2019计算机考研专业课复习问题答疑

对于计算机考研的童鞋们来说,好像一开始都面临着与别人不同的更多问题,所以今天小编就整理出了大多数考研党的疑问来进行一一解答。小编还为大家精心准备了计算机考研名校备考指南还有计算机考研院校动态助力你的考研路哦!问题1:计算机考研专业课2009年开始实行统考,你能结合往年的计算机专业课试题谈一下四门专业课所占的比例么?答:计算机考研专业课在2009年年初实行了第一次统考,统考科目包括四门计算机专业课:...

weixin_34538771的博客 4489

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

考研计算机专业课试卷,考研计算机专业课试卷内容和科目难度分析

考研计算机专业课试卷内容和科目难度分析考生们在进行考研计算机专业课的复习时,需要了解清楚历年来试卷内容和科目的难度。小编为大家精心准备了考研计算机专业课指南攻略,欢迎大家前来阅读。考研计算机统考试卷结构与各科难度1.历年计算机统考的试卷结构分析:计算机考研专业课在2009年即今年年初实行了第一次统考,统考科目包括四门计算机专业课:数据结构、计算机组成原理、操作系统和计算机网 络,这四门课程合在一起...

weixin_39851261的博客 389

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

计算机专业课难度顺序_历年计算机考研试卷结构与难度分析

1.历年计算机统考的试卷结构分析:计算机考研专业课在2009年实行了第一次统考,统考科目包括四门计算机专业课:数据结构、计算机组成原理、操作系统和计算机网络,这四门课程合在一起称为计算机科学专业基础综合,共150分。四门专业课在试卷中所占的分数分别为:数据结构45分,计算机组成原理45分,操作系统35分,计算机网络25分。从年初考过的真题情况来看,计算机专业基础综合考试一共有两种题型:单选题和综合...

weixin_39915204的博客 1867

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华师计算机考研838专业课:数据结构与C语言核心考点与高效备考策略

数据结构与C语言程序设计是计算机学科的核心基础,其原理在于通过特定的数据组织方式和操作逻辑来提升程序效率。掌握这些技术对于解决实际问题、优化算法性能具有重要价值,广泛应用于软件开发、系统设计和算法竞赛等场景。本文聚焦华中师范大学计算机考研专业课838的备考,深入剖析了指针、内存管理、线性表、树与图、查找排序等核心概念与高频考点,并结合历年真题规律,提供了从基础夯实到真题实战的系统复习路径,旨在帮助考生精准把握命题趋势,实现高效备考。

weixin_30271335的博客 504

考研计算机网络比较难还是数据结构,2015考研:历年计算机试卷结构与难度分析...

1.历年计算机统考的试卷结构分析:计算机考研专业课在2009年实行了第一次统考,统考科目包括四门计算机专业课:数据结构、计算机组成原理、操作系统和计算机网络,这四门课程合在一起称为计算机科学专业基础综合,共150分。四门专业课在试卷中所占的分数分别为:数据结构45分,计算机组成原理45分,操作系统35分,计算机网络25分。从年初考过的真题情况来看,计算机专业基础综合考试一共有两种题型:单选题和综合...

weixin_39614831的博客 2638

对计算机科学与技术专业课程的认识,计算机科学与技术专业课程

计算机科学与技术专业课程计算机科学与技术专业课程二、课程简介 TOP1.数字逻辑电路:“数字逻辑”是计算机专业本科生的一门主要课程,具有自身的理论体系和很强的实践性。它是计算机组成原理的主要先导课程之一,是计算机应用专业关于计算机系统结构方面的主干课程之一。课程的主要目的是使学生了解和掌握从对数字系统提出要求开始,一直到用集成电路实现所需逻辑功能为止的整个过程的完整知识。内容有数制和编码、布尔代数...

weixin_30538955的博客 4397

辽宁大学计算机考研专业课辅导,2018年辽宁大学853计算机基础综合考研大纲

2018年辽宁大学853计算机基础综合考研大纲本站小编 免费考研网/2018-11-042018年辽宁大学853计算机基础综合考研大纲公布如下《计算机基础综合》考试大纲考试内容包括:操作系统和数据结构一、操作系统1、操作系统引论(1)设计操作系统的目标及操作系统的作用。(2)操作系统的基本特征和操作系统的主要功能。2、进程的描述与控制(1)进程的概念、进程的特征及操作系统中引入进程的原因。(2)进...

weixin_39663970的博客 175

西北大学软工专硕专业课面试可能会问到的问题

20届西北大学软工专硕刚刚上岸,本着上岸分享资料的想法, 把自己复试期间整理的一点东西(包括但不仅限于这些问题)分享出来,供大家参考,内容只代表我的观点,假如与标准答案有所不同,敬请谅解! Ps:今年因为疫情的原因,面试改为线上,和之前的套路稍微有点不同,大方向还是一样的,我还是按之前的形式准备的。 首先是专业面试可能会问到的问题: 抽题范围包括计算机网络,数据结构,操作系统,计算机组成,数据库,软件工程 计算机网络 1.无线局域网为什么不冲突检测,而选择冲突避免? 答:因为无线环境不像有线广播媒体那样容易

Su_Del的博客 4664

专业课知识问答-背诵版

背背背,不理解怎么背?

m0_46396480的博客 876

计算机考研专业课卷子,历年计算机考研试卷结构与难度分析

1.历年计算机统考的试卷结构分析:计算机考研专业课在2009年实行了第一次统考,统考科目包括四门计算机专业课:数据结构、计算机组成原理、操作系统和计算机网络,这四门课程合在一起称为计算机科学专业基础综合,共150分。四门专业课在试卷中所占的分数分别为:数据结构45分,计算机组成原理45分,操作系统35分,计算机网络25分。从年初考过的真题情况来看,计算机专业基础综合考试一共有两种题型:单选题和综合...

weixin_39710361的博客 248

计算机基础知识试卷质量分析,历年计算机考研试卷结构与难度分析

原标题:历年计算机考研试卷结构与难度分析1.历年计算机统考的试卷结构分析:计算机考研专业课在2009年实行了第一次统考,统考科目包括四门计算机专业课:数据结构、计算机组成原理、操作系统和计算机网络,这四门课程合在一起称为计算机科学专业基础综合,共150分。四门专业课在试卷中所占的分数分别为:数据结构45分,计算机组成原理45分,操作系统35分,计算机网络25分。从年初考过的真题情况来看,计算机专业...

weixin_42355865的博客 415

计算机考研试卷结构,历年计算机考研试卷结构与难度分析

原标题:历年计算机考研试卷结构与难度分析 1.历年计算机统考的试卷结构分析计算机考研专业课在2009年实行了第一次统考,统考科目包括四门计算机专业课:数据结构、计算机组成原理、操作系统和计算机网络,这四门课程合在一起称为计算机科学专业基础综合,共150分。四门专业课在试卷中所占的分数分别为:数据结构45分,计算机组成原理45分,操作系统35分,计算机网络25分。从年初考过的真题情况来看,计算机专业...

weixin_39606118的博客 401

2016-2017(2)数据结构课程小结

本学期数据结构采用PTA程序设计辅助教学平台+课堂派互动管理工具2大平台辅助教学。教学目标让学生掌握经典数据结构如线性表、栈、队列、树、图结构,并能用这些数据结构解决实际问题。培养学生的计算思维能力、数据结构和算法应用能力。为学生的其他专业课培养良好的编程基础。 理论教学内容 数据结构概论 4课时 线性表 8课时 栈和队列 6课时 线性结构习题讲解 2课时 串 2课时 递归 2课时 稀疏数组 2...

weixin_30855761的博客 211
上一篇: 个人成长路线规划
下一篇: TyporaTips
folinggg
博客等级 码龄6年 20粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值