14年数据结构

第一题

解析:

求时间复杂度就是看程序执行了多少次。

假设最外层执行了k次,我们看终止条件是k=n,则:

2^{k}=n,k=\log 2 (n),

内层是一个j=1到j=n的循环,显然执行了n次。

总的时间复杂度是内层×外层=\log 2(n)\times n=n\log 2(n)

答案选C。

第二题

解析:

一步一步来分析栈内元素的变化:

输出a\rightarrow/存入栈中\rightarrowb输出\rightarrow/输出\rightarrow

此时栈:/

此时轮到+,+相对比/不够强,所以+不能直接进,需要先将/输出,然后+再进入。

此时栈:+

+存入栈中\rightarrow

然后是‘(’,‘(’够强,直接进入。

(存入栈中\rightarrow

此时栈:+ (

接着是c,c直接输出,然后是*,*够强直接存入栈中,d直接输出。

c输出\rightarrow*存入栈中\rightarrowd输出

此时栈:+ ( *

然后是-号,-号不够强,需要*先输出,-再进入。

*输出\rightarrow-存入栈中\rightarrow

此时栈:+ ( -

然后是e,e直接输出,*够强存入栈中,f输出。

e输出\rightarrow*存入栈中\rightarrowf输出

此时栈:+ ( - *

然后是),)有着和(配对的特点,需要将()一起输出出来。

( - * )输出\rightarrow

此时栈:+

最后是/g,/够强直接存入栈中,g直接输出。

/存入栈\rightarrowg输出

此时栈:+ /

题目问扫描到f时,栈的情况,直接看f。

答案选B

第三题

解析:

end1指向A[0],end2指向队尾元素的后一个位置,如果end2指向A[1],那就说明表内还有一个元素,肯定不对。

首先,队列为空时,对头指针和队尾指针中间肯定没有位置,也就是说这两个指针都指向同一个位置,end1=end2,直接排除C和D

这种题,画个图就很好解决了:

数组的大小不难看出是M个,但是题目说队列最多能容纳M-1个元素,那就代表队列种最后一个元素的序号是M-2,end2指向最后一个元素的后一个位置,end2=M-1,如图可知,(end2+1)mod M=end1

第四题

解析:

直接写出图示二叉树的中序遍历序列:左根右

d e b x a c

很显然x的左右是ba很显然选D

第五题

解析:

对付这种题直接画一个特殊的树就好了:树转二叉树:兄弟变成右子树,孩子变成左子树。

叶子结点没有孩子,我们说树转二叉树的过程中,孩子会变成左子树,左孩子指针为空也就是没有左字数,也就代表该结点没有孩子,没有孩子的结点就是叶子结点。

答案选C

第六题

解析:

对于一个前缀编码有一个特点叫前缀不是前缀:对于一个前缀编码里面的任何一个元素都不是其它元素的前缀。

我们看D选项:

110是1110的前缀,D错

答案选D。

第七题:

解析:一个一个分析选项;拓扑序列是每次找入度为0的结点,并删除与之相连的线。

A:24显然不对,2的入度不是0,56显然不对,5的入度不是0        A错

B:和A一样的问题:24

C:和A一样的问题:56

答案选D

第八题:

解析:
存储效率和装填因子反应的是,顺序表中已经存储或者说装填的元素个数/总个数,和堆不堆积没关系。A和C错。

直接影响的应该是查找效率,在不堆积的情况下,查找效率高,通常能一次直接命中,如果发生了堆积,查找到当前位置发现不是该元素后,可能还要依次向后查找,以线性探测法为例。大大增大了查找长度。

答案选D

第九题

解析:

回顾一下B树的性质:

对于n阶B树的根节点,关键字的个数是[1,n-1]

对与n阶B树的非根结点,关键字的个数是【[n/2]向上取整-1,n-1】

回到这题:

题目要含关键字的结点个数最多,因为关键字的个数是有限的是15个,则要使每个结点的关键字最少。

我们可以算出,根节点最少是1个关键字,非根结点最少是4/2-1=1个关键字。

B树是一个完全二叉树。

因此直接画图:

正好是15个结点

选D。

第十题:

解析:

回顾一下希尔排序:设置一个间隔d,依次对i,i+d这两个元素进行排序。

也就是说经过一趟排序之后,间隔为d的两个元素,一定是有序的。

A.d=2,9-1是减序,1-13是升序,显然错。

B.d=3,B对

答案选B

第十一题:

解析:

快速排序每次都能确定一个元素的最终位置,且这个元素的左边都小于这个元素,这个元素的右边都大于这个元素。

经过两趟排序,至少能确定两个元素的最终位置。

我们直接写出排好序的最后的顺序是:2,3,4,5,6,7,9

A.23679的位置对了

B.29的位置对了

C.就一个9的位置是对的,我们说至少能确定两个元素的位置,C错

D.59的位置是对的。

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

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

相关文章

如何用ChatGPT制作一款手机游戏应用

有没有想过自己做一款手机游戏,并生成apk手机应用呢?有了人工智能,这一切就成为可能。今天,我们就使用ChatGPT来创建一个简单的井字棋游戏(Tic-Tac-Toe),其实这个过程非常轻松且高效。 通过Cha…

【Linux】常用指令【更详细,带实操】

Linux全套讲解系列,参考视频-B站韩顺平,本文的讲解更为详细 目录 一、文件目录指令 1、cd【change directory】指令 ​ 2、mkdir【make dir..】指令​ 3、cp【copy】指令 ​ 4、rm【remove】指令 5、mv【move】指令 6、cat指令和more指令 7、less和…

【Python】Maya:为人类打造的 Python 日期时间库

不知道少了什么,总感觉没有以前快乐。 在编程中处理日期和时间总是一个挑战,尤其是当涉及到时间和时区的转换时。Maya 是一个由 Kenneth Reitz 开发的 Python 库,旨在简化日期时间的处理,使其对人类开发者更加友好。本文将介绍 M…

【二等奖论文】2024年华为杯研究生数学建模F题成品论文(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 点击链接获取【2024华为杯研赛资料汇总】: https://qm.qq.com/q/alQjz21npu https://qm.qq.com/q/alQjz21npu X射线脉冲星光子到达时间建模 摘要 脉冲星是…

2024年最新前端工程师 TypeScript 基础知识点详细教程(更新中)

1. TypeScript 概述 TypeScript 是由微软开发的、基于 JavaScript 的一种强类型编程语言。它是在 JavaScript 的基础上添加了静态类型检查、面向对象编程等功能的超集,最终会被编译为纯 JavaScript 代码。由于其扩展了 JavaScript 的功能,TypeScript 特…

【Linux 21】线程安全

文章目录 🌈 一、线程互斥⭐ 1. 线程间互斥的相关概念🌙 1.1 临界资源和临界区🌙 1.2 互斥和原子性 ⭐ 2. 互斥量 mutex⭐ 3. 互斥量接口🌙 3.1 初始化互斥量🌙 3.2 销毁互斥量🌙 3.3 互斥量上锁&#x1f3…

Mysql删库跑路,如何恢复数据?

问题 删库跑路,数据还能恢复吗? 我们经常听说某某被领导训斥了,对领导心生痛恨,然后登录 Mysql 删库跑路。对于闲聊中经常听说过的一个段子,在现实生活中是否真的发生过,如果发生了,我们该如何解…

解决RabbitMQ设置x-max-length队列最大长度后不进入死信队列

解决RabbitMQ设置x-max-length队列最大长度后不进入死信队列 问题发现问题解决方法一:只监听死信队列,在死信队列里面处理业务逻辑方法二:修改预取值 问题发现 最近再学习RabbitMQ过程中,看到关于死信队列内容: 来自队…

Docker 容器技术:颠覆传统,重塑软件世界的新势力

一、Docker简介 什么是docker Docker 是一种开源的容器化平台,它可以让开发者将应用程序及其所有的依赖项打包成一个标准化的容器,从而实现快速部署、可移植性和一致性。 从功能角度来看,Docker 主要有以下几个重要特点: 轻量…

[Redis][数据类型]详细讲解

1.Redis 特殊数据结构 1.Streams 应用场景:主要用为队列(阻塞队列) 2.Geospatial 应用场景:用来存储坐标(经纬度) 3.HyperLogLog 应用场景:估算集合中的元素个数注意: HyperLogLog不存储元素的内容,但是能够记录“…

计算机毕设设计推荐-基于python+Djanog大数据的电影数据可视化分析

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、电影数据可视…

JavaWeb--纯小白笔记04:Tomcat整合IDEA

IDEA整合Tomcat 1.点击Idea的导航栏里的Run,选择Edit Configurations 2.点击左上角的"",向下翻找到Tomcat Server 选择里面的Local 3.创建一个web工程,点击IDEA的File-->new-->project 然后选择Java Enterprise,…

crosscrossover24支持的游戏有那些

CrossOver刚刚更新了24版本,支持《地平线零之曙光》、《以撒的结合:重生》等游戏。一起来看看它有哪些更新吧!之前买过23版的用户可以在1年之内免费升级哦,点击这里查看升级教程。 一、功能优化 - 更新 Wine 至最新的稳定版 Wine …

七彩云南文化旅游网站设计与实现

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装七彩云南文化旅游网站软件来发挥其高效地信息处理的作用&am…

[机器学习]04-逻辑回归(python)-03-API与癌症分类案例讲解

逻辑回归(Logistic Regression) 的一API 介绍 关于如何配置模型中的优化器、正则化和惩罚项。 1. 逻辑回归 API 在 Scikit-learn 中,逻辑回归可以通过如下方式定义: from sklearn.linear_model import LogisticRegression ​ …

Web 安全(Web Security)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

Renesas R7FA8D1BH (Cortex®-M85)的 General PWM的应用实践

目录 概述 1 General PWM介绍 1.1 特性 1.2 定时器选择注意点 2 时钟配置 3 应用案例 3.1 基本定时器应用 3.2 定时器回调函数案例 3.3 输入捕捉功能案例 3.4 更新周期案例 3.5 更新占空比案例 3.6 单次触发脉冲案例 4 测试 4.1 代码介绍 4.2 验证 概述 本文主…

算法练习题25——leetcode3279统计重新排列后包含另一个字符串的子字符串的数目(滑动窗口 双指针 哈希)

题目描述 解题思路 本题用到了滑动窗口 双指针 哈希 刚开始我是没读懂题的因为我笨 我想把我的思路说一下 左端不轻易缩小 只有找到跟word2匹配了 比如说abbcdd 遍历到c的时候才能匹配这个word2 对吧 那么之后加上以一个d或者俩d 都符合了 然后我们算完了 才能缩小左端 扩大…

python爬虫案例——异步加载网站数据抓取,post请求(6)

文章目录 前言1、任务目标2、抓取流程2.1 分析网页2.2 编写代码2.3 思路分析前言 本篇案例主要讲解异步加载网站如何分析网页接口,以及如何观察post请求URL的参数,网站数据并不难抓取,主要是将要抓取的数据接口分析清楚,才能根据需求编写想要的代码。 1、任务目标 目标网…

STM32篇:按键点亮LED灯

输入(按键):KEY1---PA0 KEY2---PA1 输出(LED灯):LED1---PB8 LED2---PB9