15年408-数据结构

第一题

解析:

栈第一次应该存main的信息。

然后进入到main里面,要输出S(1),将S(1)存入栈内,

进入到S(1)中,1>0,所以还要调用S(0)

S(0)进入栈中,此时栈内从下至上依次是main(),S(1),S(0)

答案选A

第二题:

解析:

先序序列个数为0时,二叉树个数是1:

先序序列个数为1时,二叉树个数是1:

先序序列个数为2时,二叉树个数是2:

先序序列个数为3时,二叉树个数是5:

先序序列个数为4时,二叉树个数是5+2+2+5=14:

第三题:

解析:

A:A错

B:B错

C:C错

答案选D

第四题:

解析:

该题给的是一棵平衡二叉树,平衡二叉树的定义是:根节点的左右两个子树的高度之差不大于1,当插入一个元素之后,可能会使平衡二叉树失衡,这时候需要判断失衡的类型,有RR,RL,LL,LR四种类型,为了使二叉树重新保存平衡,在经过左旋,右旋等操作后,插入的叶子结点可能到了根节点的位置。例如:

,C错,

题目说对其进行中序遍历之后能得到一个降序序列,中序遍历是左根右,也就是说该二叉树最大的结点一定是位于最左边的叶子结点,该结点没有左子树,D对

当二叉树的结点个数是2个时,根节点的度是1,A错。

第五题:

解析:

直接画图,就能看出答案了,答案是5个,选D

第六题:

解析:

卡鲁斯卡尔算法(选边):选权值最小的边:权值为5

第一次选:(v1,v4)

第二次选:权值为8的点,(v1,v3),(v3,v4),(v2,v3)

普利姆算法(选点):第一次选:v1,v4这两个点。

第二次的选择:选择与v1,v4这两个点相连的点,并且这条边权值要最小,由观察可得,权值最小的是8;也就是(v1,v3)和(v3,v4)这两条边。

(v2,v3)不是普利姆算法第二次选择的边,答案选(v2,v3)

第七题:

解析:

使用折半查找二叉树可以很直观的看待这个问题:

A:180出现在了200的右子树中,显然错误。

第八题:

解析:

abaaba

abaabc

第六个字符出现匹配失败,i=j=5,说明字符串下标是从0开始的。

因为是最后一个字符c和a匹配失败的,前面都能匹配的上,也就是说前面都是确定的字符,只有最后一个字符是匹配不上的,是未知的,ab是确认的,且模式串开头也是ab,因此下一轮匹配我们直接可以从ab开始后比较第三个元素,此时j在T[2],i在S[5],这个用文字不太好描述,王道课直接用这个题讲的课,可以看一下王道的KMP课。

答案选C

第九题:

解析:

A.直接插入排序:每次将待排序的记录中一个元素,按其关键字的大小插入到前面已经排好序的序列中,直到所有记录插入完毕。以1,2,3,4,5为例,进行升序排序,

因为本来就是有序的,所以不需要将元素进行任何交换。

而如果元素的序列是5,4,3,2,1,进行升序排序时,则每插入一个元素都要与前面的元素进行交换位置。显然A错

B:起泡排序也叫冒泡排序,是将一个序列,从左到右或者从右到左,两两进行比较,如果是逆序,则交换位置,直到序列比较完成。

还是以1,2,3,4,5为例,不需要移动元素,而5,4,3,2,1需要移动元素。B错

C:基数排序:是按照个位,十位,百位,依次排的,和次序无关。C对

D:快速排序很经典的问题,时间复杂度最差的情况是有序序列:

时间复杂度最好的情况是:

显然有序的时候不用交换次序,无序的时候要进行多次比较,然后需要交换元素次序。

第十题:

解析:

先将这个小根堆构建出来:

删除8后,将最后一个元素12放上去根的位置,接着下火海。

小根堆是根比左右两个子树要小,所以先从左右两个子树当中找出最小的一个,15和10进行比较,得出10比较小,然后10在和12比较一次,得出10最小,10和12交换位置。

接着要保证,12小于左右两个子树,因此12要和16进行一次比较,12比16小,不用交换位置,得到新的小根堆,题目完成。

一共要进行3次比较。

第十一题:

解析:

组内就两个元素在比较,使用直接插入排序就好了,不用那么复杂,答案选A。

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

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

相关文章

昇腾AI异构计算架构CANN——高效使能AI原生创新

异构计算与人工智能的关系是什么?昇腾AI异构计算架构CANN是什么?有哪些主要特点?开发者如何利用CANN的原生能力进行大模型创新,构筑差异化竞争力?带着这些问题,我们来认识昇腾AI异构计算架构——CANN。 1 …

随机验证码验证【JavaScript】

这段 JavaScript 代码实现了随机验证码的生成和验证功能。 实现效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-…

Vue3教程 - 2 开发环境搭建

更好的阅读体验&#xff1a;点这里 &#xff08; www.foooor.com &#xff09; 2 开发环境搭建 要进行 Vue 开发&#xff0c;需要安装 Node.js&#xff0c;因为构建 Vue 项目的工具&#xff0c;例如 Webpack、Vite等&#xff0c;这些工具依赖于Node.js环境来运行。 Node.js…

OpenAI GPT-3 API: What is the difference between davinci and text-davinci-003?

题意&#xff1a;OpenAI GPT-3 API&#xff1a;davinci 和 text-davinci-003 有什么区别 问题背景&#xff1a; Im testing the different models for OpenAI, and I noticed that not all of them are developed or trained enough to give a reliable response. 我正在测试…

玩手机数据集 8201张玩手机的照片,有对应的xml和txt文件,可以用于yolo训练

玩手机数据集 8201张玩手机的照片&#xff0c;有对应的xml和txt文件&#xff0c;可以用于yolo训练 玩手机数据集&#xff08;Phone Usage Detection Dataset&#xff09; 数据集概述 该数据集专为检测人们使用手机的行为设计&#xff0c;旨在帮助研究人员和工程师开发高效的…

Sentinel-1 数据处理时如何手动下载高程数据

在Sentinel-1 数据数据预处理时&#xff0c;会使用高程数据进行地形校正。但选择自动下载高程时&#xff0c;由于网络原因经常会卡死&#xff0c;造成预处理过程不能正常进行&#xff01; 这个问题经过我的反复实践&#xff0c;可以通过手动下载高程数据来解决。下面是具体方法…

MySQL之基本查询(一)(insert || select)

目录 一、表的增删查改 二、表的增加insert 三、表的读取select where 条件子句 结果排序 筛选分页结果 一、表的增删查改 我们平时在使用数据库的时候&#xff0c;最重要的就是需要对数据库进行各种操作。而我们对数据库的操作一般来说也就是四个操作&#xff0c;CRUD :…

【学术会议征稿】第七届电力电子与控制工程国际学术会议(ICPECE 2024)

高录用|快检索|JPCS独立出版ISSN:1742-6596 连续6年EI检索&#xff0c;稳定且快速 见刊后均1个月检索 第七届电力电子与控制工程国际学术会议&#xff08;ICPECE 2024&#xff09; 2024 7th International Conference on Power Electronics and Control Engineering 2024年…

认知作战壳吉桔:未来认知战战略全案发展趋势

认知作战壳吉桔&#xff1a;未来认知战战略全案发展趋势 认知作战壳吉桔&#xff1a;未来认知战战略全案发展趋势 关键词&#xff1a;认知战战术融合, 数据驱动决策, 生成式人工智能AIGC, 影响力认知, 个性化定制, 沉浸式体验, 视频直播认知, 受众体验优化, 社交媒体互动, 可…

[PICO VR]Unity如何往PICO VR眼镜里写持久化数据txt/json文本

前言 最近在用PICO VR做用户实验&#xff0c;需要将用户实验的数据记录到PICO头盔的存储空间里&#xff0c;记录一下整个过程 流程 1.开启写入权限 首先开启写入权限&#xff1a;Unity->Edit->Player->安卓小机器人->Other Settings->Configuration->Wri…

如何用LightningChart Python实现地震强度数据可视化应用程序?

LightningChart Python是知名图表控件公司LightningChart Ltd正在研发的 Python 图表&#xff0c;目前还未正式推出&#xff0c;感兴趣的朋友可以戳文末链接申请试用&#xff01; 什么是地面震动强度 Python 应用程序&#xff1f; 地面震动是地震的基本特征&#xff0c;会对建…

【Linux】fork入门级使用

目录 一、前置准备 1、进程的基本概念 2、进程标识符PID、PPID 1&#xff09;pid介绍 2&#xff09;获取pid和ppid 二、fork函数 1、fork的基本介绍 1&#xff09;fork&#xff08;&#xff09;&#xff1a; 创建子进程 2&#xff09;对于函数具体的描述 3&#xff09…

yuque-dl-语雀知识库下载为本地markdown

之前有下载语雀的需求&#xff0c;发现了一个开源项目&#xff0c;用起来还是很顺手的 需要环境 需要前端的node环境 https://nodejs.cn/ Node.js 18.4 or later 插入 npm i -g yuque-dl 使用 $ yuque-dl --helpUsage:$ yuque-dl <url>Commands:<url> …

Python 如何读取和写入文件

Python 如何读取和写入文件 文件操作是编程中常见的任务&#xff0c;几乎所有编程语言都支持文件的读写功能。在 Python 中&#xff0c;文件操作简单直观&#xff0c;适用于从初学者到经验丰富的开发者。无论是处理小型文本文件&#xff0c;还是需要处理大型数据文件&#xff…

fo-dicom是如何实现DICOM 的网络通信功能

一、前言 前面的文章&#xff0c;我们介绍了fo-dicom是一个怎样的开源库等一些内容&#xff1a; fo-dicom&#xff0c;第一个基于.NET Standard 2.0 开发的DICOM开源库fo-dicom开源库是如何满足 DICOM标准的基本要求fo-dicom开发之DICOM数据解析&#xff1a;常见数据类型及处…

【Transformers基础入门篇2】基础组件之Pipeline

文章目录 一、什么是Pipeline二、查看PipeLine支持的任务类型三、Pipeline的创建和使用3.1 根据任务类型&#xff0c;直接创建Pipeline&#xff0c;默认是英文模型3.2 指定任务类型&#xff0c;再指定模型&#xff0c;创建基于指定模型的Pipeline3.3 预先加载模型&#xff0c;再…

pycharm恢复两边侧边栏常驻显示

问题&#xff1a; pycharm两边的侧边栏菜单默认不显示&#xff08;打开project还得用alt1快捷键&#xff09;&#xff0c;非常不方便&#xff0c;如下图&#xff1a; pycharm版本&#xff1a;2022.3 professional 勾选&#xff1a;setttngs -> Appearance -> tool Wind…

云原生虚拟化kubevirt安装

kubevirt 介绍 Kubevirt 是 Redhat 开源的一套以容器方式运行虚拟机的项目&#xff0c;通过 kubernetes 云原生方式来管理虚拟机生命周期。它通过使用自定义资源&#xff08;CRD&#xff09;和其它 Kubernetes 功能来无缝扩展现有的集群&#xff0c;以提供一组可用于管理虚拟机…

JavaScript的注释与常见输出方式

注释 源码中注释是不被引擎所解释的&#xff0c;它的作用是对代码进行解释。Javascript 提供两种注释的写法:一种是单行注释&#xff0c;用//起头;另一种是多行注释&#xff0c;放在/*和*/之间。 单行注释&#xff1a; //这是单行注释 多行注释&#xff1a; /*这是 多行 注…

远程升级,你成功了吗?

最近又遇到了远程升级失败的情况&#xff0c;而且是不明原因的多次接连失败。。。 事情是这样的&#xff1a;最近有客户反馈在乡村里频繁出现掉线的情况。通过换货、换SIM卡对比排查测试&#xff0c;发现只有去年5月22号采购的那批模块在客户环境附近会出现掉线的情况&#xf…