数据结构考研习题精选

news2024/9/23 15:18:56

1 

 A假设比较t次,由于换或不换,则必然有2^t种可能。又设有n个关键字,n!排列组合,则必然有2^t>=n!,带入n即可解出。

2

 注意这里没有考虑于哨兵的比较,少了一次,所以按n*(n-1)/2可以解出比较次数是10,B

3

 注意这里增量为4要比较完整,A

 比较次数变成了nlog2n但是移动次数没有改变,还是n^2,所以时间复杂度还是O(n^2)

5

 二分的越均匀速度越快,越有序速度越慢,所以A、D

从小到大排{11,18,23,68,69,73,93},从大到小排{93,73,69,68,23,18,11},要求最终位置元素可以作为枢纽,只有3、4可以,C

 

每趟都要确定至少1个最终位置的结果,D只有1个32满足

8

可以用队列来代替栈 在快速排序的过程中 通过一趟划分 可以把一个待排序区间分为两
个子区间 然后分别对这两个子区间施行同样的划分 栈的作用是在处理一个子区间时 保存另
一个子区间的上界和下界(排序过程中可能产生新的左 右子区间) ,待该区间处理完后再从栈
中取出另一子区间的边界 对其进行处理 这个功能用队列也可以实现 只不过处理子区间的顺
序有所变动而已
9

int kth_elem(int low,int high,int k){
	int pivot=num[low];
	int low_t=low;
	int high_t=high;
	while(low<high){
		while(low<high && pivot<=num[high]) high--;
		num[low]=num[high];
		while(low<high && pivot>=num[low]) low++;
		num[high]=num[low];
	}
	num[low]=pivot;
	if(low==k){
		return num[low];
	}else if(low<k){
		return kth_elem(low+1,high_t,k);
	}else if(low>k){
		return kth_elem(low_t,low-1,k);
	}
}
void flag(int a[],int n){
	int i=0,j=0,k=n-1;
	while(j<=k){
		switch(a[j]){
			case red:swap(a[i],a[j]);i++,j++;break;
			case white:j++;break;
			case blue:swap(a[j],a[k]);k--;
		}
	}
	cout<<i<<' '<<k<<endl;
	for(int m=0;m<n;m++){
		if(m<i) cout<<red<<' ';
		else if(i<=m && m<=k) cout<<white<<' ';
		else{
			cout<<blue<<' ';
		}
	}
}
int best_meet(int n){
	int low=0,high=n-1;	
	int low_t=low;
	int high_t=high;
	int k=n/2;
	bool flag=false;
	while(!flag){
		int pivot=num[low];
		while(low<high){
			while(low<high && pivot<=num[high]) high--;
			num[low]=num[high];
			while(low<high && pivot>=num[low]) low++;
			num[high]=num[low];			
		}
		num[low]=pivot;
		if(low==k-1){
			flag=true;
		}else if(low<k){
			low_t=++low;
			high=high_t;
		}else if(low>k){
			low=low_t;
			high_t=--high;
		}		
	}
	int s1=0,s2=0;
	for(int i=0;i<k;i++) s1+=num[i];
	for(int i=k;i<n;i++) s2+=num[i];
	return s2-s1; 
}

10

 

 11

17B,注意是逐个插入,随时调整 

 

12

 13 

 14

0

15

 16

A 折半查找路径是一颗二叉排序树

17

 

 18

 

 注意是空间复杂度

 19

20

21

 22

A,辅助空间都是O(1)无差

23

24

 

 25

 

26

 

 

 

 

23中根节点也算分支节点

 27

 28

 

 

 

 

 

 29

 

 

 

 

 

 注意不是二叉树了

 

 

30

 31

 32

 

 

33

 

 

 

 

33

  

34

 

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

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

相关文章

vue-element-admin执行npm install时的一些报错。

文章目录1. 首先在gitee上拉取的中文版2. 执行npm install的一些报错3. 参考文章1. 首先在gitee上拉取的中文版 git clone -b i18n https://gitee.com/panjiachen/vue-element-admin.git 2. 执行npm install的一些报错 npm install Please make sure you have the correct acc…

跨境电商平台,亚马逊、eBay、Shopee……哪个好?

2023一开始&#xff0c;随着各项利好政策的出台&#xff0c;中国跨境电商正在重新步入最好的时代。一些跨境电商企业纷纷开启上市热潮&#xff0c;身边许多人也跃跃欲试想转行跨境电商。专业数据显示&#xff0c;接下来将会有更多的跨境企业走向资本化的道路&#xff0c;借助资…

设备运行状况不能远程手机查看。难道就妥协吗?为何不试试这个办法

一、背景 随着国家经济结构逐步调整&#xff0c;纺织行业自动化、智能化水平逐步提高&#xff0c;业内竞争程度也将加大&#xff1b;整个市场变化快&#xff0c;并呈现出智能化、通用化、网络化、复杂化的新发展趋势。客户订单小批量、个性化、快速交货的特点越来越明显&#…

阅读(1)-----六级

目录 1.单词不懂怎么办&#xff1f; 1.1构词法 1.2上下文 2.句子不通怎么办&#xff1f; 3.时间不够怎么办 &#xff1f; 4.题型 4.1细节题 问文章的细节 4.2主旨题(文章主旨和段落主旨) 4.3语义题 4.4观点题 &#xff08;一共三种&#xff0c;支持、反对和中立 &…

从0开始学python -47

Python CGI编程 -2 GET和POST方法 浏览器客户端通过两种方法向服务器传递信息&#xff0c;这两种方法就是 GET 方法和 POST 方法。 使用GET方法传输数据 GET方法发送编码后的用户信息到服务端&#xff0c;数据信息包含在请求页面的URL上&#xff0c;以"?"号分割…

【面试题】社招中级前端笔试面试题总结

大厂面试题分享 面试题库后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库typeof null 的结果是什么&#xff0c;为什么&#xff1f;typeof null 的结果是Object。在 JavaScript 第一个版本中&#xff0c;所有值都存储在…

Nginx的反向代理配置笔记

1、反向代理的概念&#xff1a; 对一个大型网站来说&#xff0c;随着网站的访问量的快速增长&#xff0c;单台服务器已经无法承担大量用户的并发访问&#xff0c;必须采用多态服务器协同工作&#xff0c;以提高计算机系统的处理能力。通过Nginx提供的反向代理和负载均衡功能&a…

扬帆优配|国家队重磅出手!千亿巨头突然爆雷,股价狂跌12%!

国家队又出手啦&#xff01; 综合天眼查和国家商场监督管理总局旗下企业信用信息公示系统显现&#xff0c;长江存储科技控股有限责任公司股东结构新增国家集成电路工业出资基金二期股份有限公司、长江工业出资集团有限公司及湖北长晟开展等股东。其中&#xff0c;大基金二期认缴…

Mysql主键约束和唯一约束

Mysql约束 1、作用 约束定义为确保数据完整性必须遵循的规则。 约束可以在创建表的过程中创建&#xff0c;也可以稍后再添加。 在创建表后添加约束时&#xff0c;它将检查现有数据以确定其是否违背该约束。 如果现有数据违背了将添加的约束&#xff0c;那么将不会向指定列施加…

肠道短链脂肪酸如何让人变胖或变瘦

谷禾健康 在目前的审美中&#xff0c;无论男性或女性的肥胖都是不太加分项。除此之外&#xff0c;肥胖还被认为是几种疾病的重要标志物&#xff0c;特别是高血压、2 型糖尿病 (T2DM) 和代谢综合征&#xff0c;肥胖在这些疾病中发挥着明确而重要的病理作用。 肥胖的发生有多种病…

从0开始学python -46

Python CGI编程 什么是CGI CGI 目前由NCSA维护&#xff0c;NCSA定义CGI如下&#xff1a; CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如&#xff1a;HTTP服务器&#xff0c;提供同客户端HTML页面的接口。 网页浏览 为了更好的了解CGI是如何工作…

linux部署kafka

kafka部署需要jdk、zookeeper、 kafka kafka和zookeeper资源自取&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1410lRItcS4yG5DYmAyYOLg 提取码&#xff1a;rt01 1.jdk部署 略 2.zookeeper部署 2.1 解压 unzip zookeeper-3.4.11.zip 2.2 修改 conf/zoo.cfg 2…

详解物联网常用协议:IIC和RS485通信协议

在单片机开发中我们经常会听到协议二字&#xff0c;协议是单片机相互通信中必须遵守的规则&#xff0c;只有遵守协议才能实现二者之间的通信。协议的种类非常的多&#xff0c;可以满足不同设备和不同操作系统的通信要求&#xff0c;下面小编给大家介绍沐渥科技常用的两种通信协…

一文带你吃透JSP,增删改查实战案例详细解读

文章目录前言JSP 概述JSP快速入门搭建环境导入JSP依赖创建 JSP 页面编写代码测试JSP原理JSP 脚本实战案例JSP缺点发展阶段EL 表达式概述实战案例域对象JSTL 标签用法1用法2前言 不得不说&#xff0c;JSP 现在已经是一门十分老旧的技术了&#xff0c;学习编程时&#xff0c;不仅…

一文说清Kubernetes的本质

文章目录Kubernetes解决了什么问题&#xff1f;Kubernetes的全局架构Kubernetes的设计思想Kubernetes的核心功能Kubernetes如何启动一个容器化任务&#xff1f;Kubernetes解决了什么问题&#xff1f; 编排&#xff1f;调度&#xff1f;容器云&#xff1f;还是集群管理&#xf…

置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天

置顶&#xff01;&#xff01;&#xff01;主页禁言提示原因&#xff1a;在自己论坛发动态误带敏感词&#xff0c;在自己论坛禁止评论90天 置顶&#xff01;&#xff01;&#xff01;主页禁言提示原因&#xff1a;在自己论坛发动态误带敏感词&#xff0c;在自己论坛禁止评论90天…

RAD Studio 11.3 Alexandria Crack

RAD Studio 11.3 Alexandria Crack 瞄准最新平台版本-此版本增加了对Android 13和Apple macOS Ventura的官方支持。它还支持Ubuntu 22 LTS和Microsoft Windows Server 2022。 使用生物特征认证-New为FireMonkey移动应用程序提供了新的移动生物特征认证组件。 部署嵌入式InterBa…

【Python学习笔记】第二十五节 Python MySQL

Python 连接到 MySQL 数据库有几种不同的连接方法&#xff0c;而且不是所有的方法都能与不同的操作系统很好地配合.MySQL connector/Python模块是Oracle支持的官方驱动&#xff0c;用于通过Python连接MySQL。该连接器完全是Python语言&#xff0c;而mysqlclient是用C语言编写的…

Java的开发工具有哪些?这十款工具大厂都在用!

工欲善其事必先利其器&#xff0c;各位同学大家好&#xff0c;我是小源~本期文章&#xff0c;给大家推荐十款Java的开发工具。一、 文本编辑器主要推荐三款&#xff1a;notepad、editplus、sublime text。这三款编辑工具&#xff0c;在我们的开发工作中几乎是相差无几&#xff…

3. 字符设备驱动---上篇

文章目录引言一、字符设备驱动工作原理1.1 系统整体工作原理1.2 字符驱动模型1.2.1 file_operations结构体1.2.2 注册字符设备驱动 --- 申请主设备号1.2.3 内核如何管理字符设备驱动二、字符设备驱动代码实践2.1 编写字符设备驱动的步骤和规范2.2 实践写驱动代码2.3 代码实现2.…